Test automation has been adopted and used effectively in the IT industry for over a decade now. Some of the core objectives of using test automation, along with conventional testing, is to repeatedly test certain actions, logics, and business functionalities with the end goal of increasing the effectiveness, efficiency, and coverage of the software in test. However, as the use of test automation has become more and more extensive over the last decade, some myths associated with automation testing have arisen and are in need of addressing. Online’s team of QA experts have banded together to dispel some of these myths and to ensure that anyone looking to utilize test automation knows that it is about far more than just looking for software defects.
“Quality is never an accident; it is always the result of an intelligent effort.”
– John Ruskin
Oftentimes, when people think about system testing, their thought process goes something like this: “If this system has any issues we don’t know about, it’s okay because our testers will find them.” The problem with this is, if the quality of the system being tested is low to begin with, what is the point of testing? The reality is, “testing” is one of many ways of finding defects, but alone it will not get the job done. The ingredient list must also include precision, planning, strategy, know-how, which testing type to use, anticipation, contemporary process, the right people, and vision.
Many software developers agree, at least in principle, that code reviews are a good idea. In fact, Jeff Atwood says:
The term “requirements traceability” refers to the ability to map requirements back to business goals and objectives, and also to map requirements forward to test cases, business processes, software, training materials, and more. The concept is quite simple, really – it’s a way to tie everything together from start to finish, and make sure that end products align with originating goals and objectives.
In spite of diligent planning, documentation, and proper process adherence in software development, occurrences of defects are inevitable. In today’s cutting edge competition, it is important to make conscious efforts to control and minimize these defects by using techniques to allow in-process quality monitoring and control. Defect Prediction using Rayleigh’s distribution curve is one such method that helps us to understand the density of the defects and their distribution across project phases as a project progresses.