In the real world, the meaning of the Testing is to observe the behavior of an object(living or non-living entity) for any condition within specific circumstances.
Few examples for Testing
- Machine: Testing of a car engine at various speeds on the road.
- Software: Testing of functionalities when the application is online or offline.
- Human: Testing the capabilities or skills by taking an interview or written exams.
Actually, the testing gives the approval of the quality of the tested product based on the given parameters or requirements. Hence, the other definition of Testing is to analyze the product on multiple aspects.
Need for Testing
As I mentioned, testing gives approval on the quality of a product. It means without performing the testing we can never say that the product is ready to launch in the market.
A research center or RnD department is a good example of this. The members are supposed to complete all their analysis before launching the end product to the market. Whether it is a technology, medicine, machine.
Standard Testing Process
A standard testing process consist below steps:
- Gathering requirement
- Setting Precondition
- Preparing document with User Action, Expected Result
- Generating Result
Software Testing is a process to perform User Actions and validate the Actual result with the Expected Result. As simple as to validate that the software is working as per the requirement document or Test Case document approved by the customer.
Software Testing Life Cycle(STLC process)
- Requirement Analysis
- Test Planning and Test Case preparation
- Setting up Test Environment
- Execution of Test Cases on multiple Test Environments
- Defect Reporting & Management
- Regression Testing and Defect Closure
- Test Closure and Signed Off
Manual vs Automation
The important part of the Manual testing is Test Execution which means to validate the requirements or Test Cases manually against the software. And automation testing is the process to perform the same test cases using any automation tool. Note that in the Testing process we normally automate only the test execution part, the rest would be done manually.
Important fields in a Test Case Template
|Precondition||User Action||Test Data||Actual Result||Expected Result||Status|
Manual Testing is consist below steps to validate any test case by the Tester:
- Checking pre-condition
- Perform User action using the Test Data
- Observe the Actual Result
- Validate with the Expected Result
- Record the status in Pass/Fail format.
In automation, all the above steps would be performed by some automation tools.
QA and QC
All the steps in the STLC are divided into two parts QA and QC. These are also, known as Verification and Validation respectively.
QA is more related to the document and requirement analysis related part.
QC is performing the test case execution, Environment coverage, Regression, and Report Generation part.