Today most of the organizations are moving or have already moved to agile development and testing. Or at least they think so. Sprints and daily stand-ups are common. Everybody is talking about Scrum & minimum viable product. We are tracking the team velocity & burndown. We have cut down on the documentation & invested in working software. Everyone is focused on customer satisfaction by accepting change. But wait a minute! This is too-happy a picture to be true.
How did you study when young? Ever prepared a time-table? Planned to study during early morning hours or late in the night? Researched about and collected the required books? Decided your approach to understand it or just mug it up? Focused on the main chapters which would yield maximum marks? What if you didn’t plan anything? Yeah! Chaos. You wouldn’t be here reading this in that case…That’s the importance of planning, in every sphere of life & software delivery too.
For more than a decade now, Agile Project Management has been used and it wonderfully continues to grow in popularity. It is one effective methodology introducing revolutionary methods for the practice of project management. ‘Agile’ is an umbrella term used for identifying various models used for agile development, such as Scrum. Since agile development model is different from conventional models, agile project management is a specialized area in project management. It is required for one to have a good understanding of the agile development process in order to understand agile project management.
Most of the QA professionals are among the smartest people on this earth who often boast advanced degrees in engineering, mathematics or computer science. In some ways, we are like Superheroes – capable of breaking down a whole application and defeating an army of programmers with our defects, testing complex functions, juggling numerous technologies, ensuring customer ideas morphed into working software, all the while not breaking a sweat. So how is it that despite such technical savvy, programming prowess and quality driven attitude, we are defeated at test estimation front?
In an agile business, automation is becoming an essential process. Companies are now taking advantage of automation testing tools to increase their efficiency and productivity. Automation is frequently evangelized as the cure-all of software quality woes. Some of the benefits that accrue from automated tests include test reusability, repeatability and coverage besides the savings on effort, time and cost it takes for execution (compared to manual testing). However it’s NOT the answer for everything. Test automation, while being able to improve numerous aspects of software development, has limitations that developers and quality assurance teams should be aware of from the start. Understanding these limitations of automation testing will help us devise an efficient & effective automation strategy.
‘Mobile App’ is the new buzzword. Then how can one stick to the traditional Test Plan template? The purpose of the Mobile App Test Plan is to define how the testing effort for the App release is planned, executed, and controlled. It is critical to have a rigorous Mobile App Test Plan before the App is deployed. The idea is simple, focus on the value it offers – boil Test planning down to only the essentials and cut all fat and fluff. Test Plan shouldn’t be like any other dead document (resulting in wasted effort) – written, reviewed, referred to a few times and then cast aside as the project moves ahead. A comprehensive Plan gives customers the confidence that an efficient Test process is adopted to ensure optimum App Quality! Let’s have a look…
Also known as Verification and Validation model, the V Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage. This means that the V Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. There are Verification phases on one side of the ‘V’ and Validation phases on the other side. The Coding Phase joins the two sides of the V-Model. The horizontal and vertical axes represents time or project completeness (left-to-right) and level of abstraction, respectively. This is a highly-disciplined model and the next phase starts only after completion of the previous phase.
Automation testing is a concept that is heavily marketed today. There has been a real convergence of tools and approaches in automation in recent years. It’s increasingly considered as integral to project delivery, rather than something that exists to cover business-as-usual regression testing after project completion. Faster releases, increased test coverage, frequent test execution, faster feedback to development team, just to name a few are being counted as some of the Test automation benefits. Automation is being portrayed as the silver-bullet in testing technology. But everything is not so ideal. Not every organization (or client) is reaping the actual benefits of Test automation. Certain Automation testing myths must be addressed in order to correctly apply it in the most effective & efficient manner. In this article we shall examine some of the most common automation testing myths and how these prevent organizations from succeeding in Test automation.
In software testing, it is most important to measure the quality, cost and effectiveness of the project and the processes. Without measuring these, project can’t be completed successfully. The goal of testing is to determine if the requirements are met. During the course of testing, we find defects, or instances where the software does not meet requirements. Hence, in the area of software testing metrics, there has been abundant work in analyzing defects via different Defect metrics.
As discussed in our earlier article Manual vs. Automation Testing – on a high level there are basically two methods to complete the software verification & validation – Manual and Automation testing. Each testing method has its pros and cons but the truth is that regardless of which side of the fence you sit on (manual vs. automated), the argument is largely irrelevant; to achieve high quality software and reduced time to market both methodologies are essential. Let’s explore the remaining key consideration…
Software testing, though complex, is an integral part of any successful software project. On a high level there are basically two methods to complete the software verification & validation – Manual and Automated testing. While both types of testing are beneficial to web application development, there has been a plethora of speculation on whether software testing should be done manually or be automated. Creation of excellent software demands effective and timely quality testing; and in these times of production on the go, the debate continues on the purpose and efficiency of manual vs. automation testing. Each testing method has its pros and cons but the truth is that regardless of which side of the fence you sit on (manual vs. automated), the argument is largely irrelevant; to achieve high quality software and reduced time to market both methodologies are essential. Let’s explore the 19 key consideration…
How do you measure your car’s performance? Or how do you know that it needs a service? Yeah! We have different criteria to measure its health – the mileage, kilometers run, engine & brake oil, etc. For example your car needs a service if its weekly mileage is less than the ideal mileage recommended by the manufacturer. Right? Similarly for any process to be successful in the long run we need some measurements (or metrics). In this article we will learn about Software Testing metrics and how it helps to keep track of Software Test efforts.
‘Methodology’ – means the same in Software Engineering as in English, a procedure. Yeah! You might be wondering then what’s all the fuss about it. Why so confusion. I too feel the same way. It’s just that too many methodologies have evolved since the inception of Software development & testing – different procedures applied to structure, plan & control the process (i.e. inception, requirement gathering, design, coding, testing & go-live).
‘To make it Right, first identify what’s Wrong’ – but how? How do you identify what’s wrong? Intuition says – Just give me the application and I can find what’s wrong (defects), right? Nah! We are not workers, we are professionals. How do you build customer confidence with your ad-hoc tests? After all, Client is paying you to get the job done. And he/she wants ‘Quantitative’ reports & a ‘Quality’ product at the end. So how do you make sure that your Client is happy? Forget about Software Testing Life Cycle – in any Technical background, how do you make sure that your Client is super-happy @ the end?