What is Software Testing?
- Software testing is a process of executing a program or application with the intent of finding the software bugs .
- It can also be stated as the process of validating and verifying that a software program or application or product meets the business and technical requirement that guided its design and development.
- In other word software testing is the process of evaluation a software item to detect differences between given input and expected output.
Why should we Test?
1. Software testing is really required to point out the defects and errors that were made during the development phases.
2. It’s essential since it makes sure of the customer’s reliability and their satisfaction in the application.
3. It is very important to ensure the quality of the product. Quality product deliver to the customers helps in gaining their confidence.
4. Testing is necessary in order to provide the facilities to the customers like the delivery of high quality product or software which requires lower maintenance cost and hence results into more accurate, consistent and reliable results.
5. Testing is required for an effective performance of software application or product.
6. It’s important to ensure that the application should not result into any failures because it can be very expensive in the future or in the later stage of development.
7. It is require to stay in the business.
Scope of Testing
• software testing is a process of verification and validation. Without testing software can not be run.
• Todays, in market testing is important for all software because checks the Performance, reliability, scalability
• From client's perspective, software testing is essential to Verify & Validate that the deliverable meets the functional requirements and quality standards.
• From service provider agency's perspective, software testing is a huge market to capitalize on.
• From a software testing professional's perspective, the market is huge and the eligibility criteria is very low thus allowing access to jobs for almost anyone with a graduate degree.
Role of Tester
• To prepare Test planning and phases of the testing
• Testers should review and contribute to test plans, as well as analyzing.
• Reviewing and assessing requirements and design specifications.
• To create test conditions and creating test designs.
• Also create test cases, test procedure specifications and test data, defect report etc.
• Testers execute and log the tests, evaluate the results and document problems found.
• To assist system administration and network management staff .
Varification / Validation
Varification
• Verification is a static practice of verifying documents, design, code and program.
• It does not involve executing the code.
• It is human based checking of documents and files.
• Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc.
• Verification is done by QA team to ensure that the software is as per the specifications in the SRS document.
• It generally comes first-done before validation.
Validation
• Validation is a dynamic mechanism of validating and testing the actual product.
• It always involves executing the code.
• It is computer based execution of program.
• Validation uses methods like black box (functional) testing, gray box testing, and white box (structural) testing etc.
• Validation is carried out with the involvement of testing team.
• It generally follows after verification.
Manual Test / Automation Test
Testing can either be done manually or using an automated testing tool:
Manual Test:
• This testing is performed without taking help of automated testing tools.
• The software tester prepares test cases for different sections and levels of the code, executes the tests and reports the result to the manager.
• Manual testing is time and resource consuming.
• The tester needs to confirm whether or not right test cases are used. Major portion of testing involves manual testing.
Automated Test:
• Automated This testing is a testing procedure done with aid of automated testing tools.
• The limitations with manual testing can be overcome using automated test tools.
• A test needs to check if a webpage can be opened in Internet Explorer. This can be easily done with manual testing. But to check if the web-server can take the load of 1 million users, it is quite impossible to test manually.
• There are software and hardware tools which helps tester in conducting load testing, stress testing, regression testing.
Static Testing:
• Under Static Testing code is not executed.
• Rather it manually checks the code, requirement documents, and design documents to find errors.
• Main objective of this testing is to improve the quality of software products by finding errors in early stages of the development cycle.
• This testing is also called as Non-execution technique or verification testing.
Dynamic Testing:
• Under Dynamic Testing code is executed.
• It checks for functional behavior of software system.
• Main objective of this testing is to confirm that the software product works in conformance with the business requirements.
• This testing is also called as Execution technique or validation testing.
Phases of Software Testing
The levels of testing are
• Unit testing,
• Integration testing,
• System testing,
• Functionality testing
• Performance testing
• Security & Portability
•Acceptance or Installation testing.
• Alpha testing
• Beta testing
Download link for more detail: An overview of Software Testing
Or follow my blog from the below link
Also, Join my Telegram channel with the below link
Also, join my Whatsapp group with the below link
0 Comments