Christmas Special : Upto 40% OFF! + 2 free courses - SCHEDULE CALL
Software are tested to find issues in order to fix the issues before the y are released to production, this gives the assurance software/systems are working. Testing activity however it doesn't confirm 100% defect free systems. Testing helps to reduce number of defects going to production improving the quality of software , testing helps to find undiscovered defects in the system. This is known fact and should be communicated to client.
It is significance to know however that while testing shows the existence of bugs and not their absence, testing assures software is working as expected Test strategy, test cases , test plans test reports and release plans help right approach of testing is followed . Additionally, tracking the deployed software after its in production is crucial for any later defects that could arise when used by end user. For Eg: New launch of website could bring lot of users to log in increase load in the system so load testing can be considered for load balance.
Its impossible to test everything in a system doesn't matter if consider all possibilities of inputs and outputs , this could only result in time and effort. Best way is to look at the risk and known possible vital areas prone to defects. Increasing the test coverage to most important features and functions by planning well.So that not every line of code needs to be tested.
In software life cycle testing early is very important. Even before coding is started during requirement stage itself if testing activities is started this could stop the flow of defect by ensuring there is no flaw or missing requirements, this could later lead to reduce any rework and save time rather than doing at end of the life cycle where that could result into multiple defect and reworks.
Even in Agile principle testing early is fundamental principle, testing is limited to a stage rather a activity which goes through however in waterfall model testing is carried at end of lifecycle. When testing is carried at early stages it results in quick feedback. Most of information could be passed on when testing activity is started in earlier phase
Essentially, testing early can also help to prevent defects in the first place!
Defect Clustering means that a small module or functionality contains most of the bugs that could lead to most operational failures.
The Pareto Principle’s 80-20 Rule , which states 80% of issues comes from 20% of modules and remaining 20% of issues from remaining 80% of modules.
This is especially the case with large and complex systems, but defect density can change for a different reasons. Issues are not evenly distributed throughout the system, and the more complicated a system, or the more third-party dependencies there are, it will result in more defects.
Knowing this adds value to testing; if we able find one defect in this module/area there is a strong chance of discovering many more defects in this area. Identifying the more complex modules that have more dependencies or are changing the most, for example, can help you focus on testing on these risk areas.
When same pesticide repeatedly used on crops the insects tend to adapt to these pesticides developing immunity and therefore these pesticide becomes ineffective. In similar manner when perform same set of tests or run same test cases on the software they will confirm software is working but to make it more effective its good to revisit these tests modify the scenarios to help prevent pesticide paradox, may be using different technique.
Testing activity is ALL about the context. The methods and types of testing carried is completely depend on the context of the systems – for example, an banking website can require different types of testing and approaches to an API application, or a medical application. testing carried out will always affect way of approach.
If your software or system doesn't behave as it should (or does not fulfill end users’ requirement ) then it does not matter how many defects are found and fixed – still it cannot be used. So in this sense, it is irrelevant how issue- or error-free your system is; if the usage is so poor end users are unable to navigate , or/and it does not match user requirements then it has failed, even with less bugs.
It is important, therefore, to test that are related to the system’s requirements. We should also be testing our software with users – this can be done during early prototypes (at the usability testing phase), to collect feedback that can be used to ensure and improve quality/usability.
QA Software Testing Training
These principles help testing become more focused and efficient, additionally improve the quality of overall testing strategy. One principle implementation can result in another principle coming and falling into the system. One example could early testing could result in absence of errors , if testing activity its started at requirement phase that will help software will match the clients requirements.
Testing with V Models: A Guide to Their Application
Understanding The Software Development Life Cycle (SDLC) in QA
Cyber Security
QA
Salesforce
Business Analyst
MS SQL Server
Data Science
DevOps
Hadoop
Python
Artificial Intelligence
Machine Learning
Tableau
Download Syllabus
Get Complete Course Syllabus
Enroll For Demo Class
It will take less than a minute
Tutorials
Interviews
You must be logged in to post a comment