With the constant evolution and advancement of software applications, the trends and competency of testing are also changing. Testers all around the world are now adopting new methodologies and techniques and are required to be more technical and process oriented. Moreover, their tasks are not just limited to finding bugs and defects in the system, but to perform testing throughout the software life cycle, from its commencement to its culmination.
Unlike earlier, testing is no longer executed in isolation and consists of various activities that are highly dependent on software development activities. Additionally, it uses different life cycle models that allow in-depth testing of components as well as make the process of testing easy.
Therefore, to explain the importance of testing throughout the software life cycle, the following is a discussion that defines the levels, types, and other important aspects of testing
Quality Assurance and Quality Control (QA vs QC)
|QA is Process Related||QC is the actual testing of the software|
|QA focuses on building in quality||QC focuses on testing for quality
|QA is preventing defects.
|QC is detecting defects|
|QA is process oriented
|QC is product oriented|
|QA for entire life cycle||QC for testing part in SDLC|
What is Verification in software testing?
Verification makes sure that the product is designed to deliver all functionality to the customer.
Verification is done at the starting of the development process. It includes reviews and meetings, walk-throughs, inspection, etc. to evaluate documents, plans, code, requirements and specifications.
Suppose you are building a table. Here the verification is about checking all the parts of the table, whether all the four legs are of correct size or not. If one leg of table is not of the right size it will imbalance the end product. Similar behavior is also noticed in case of the software product or application. If any feature of software product or application is not up to the mark or if any defect is found then it will result into the failure of the end product. Hence, verification is very important. It takes place at the starting of the development process.
What is Validation in software testing?
Validation is determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
Validation is done at the end of the development process and takes place after verifications are completed.
It answers the question like:
- Am I building the right product?
- Am I accessing the right data (in terms of the data required to satisfy the requirement).
- It is a High level activity.
- Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment.
- Determination of correctness of the final software product by a development project with respect to the user needs and requirements.
Reviews, Walk-throughs, Inspection
Conducts on documents to ensure correctness and completeness
- Requirement Review
- Design Review
- Code Review
- Test plan Review
- Test cases Reviews and so on..
- It is a formal review and we can discuss/raise the issue at peer level.
- Also walkthrough does not have minutes of the meet. It can happen at any time and conclude just like that no schedule as such.
- Its a formal approach to the requirements schedule.
- At-least 3-8 people will sit in the meeting 1-reader 2-writer 3-moderator plus concerned.
- Inspection will have a proper schedule which will be intimated via email to the concerned developer/tester.