Wednesday, 6 July 2022

What Is Software Testing

 

Software Testing

Software testing is a process of identifying the correctness of software by considering its all attributes (Reliability, Scalability, Portability, Re-usability, Usability) and evaluating the execution of software components to find the software bugs or errors or defects.

Software testing is the process of evaluating a system with the intent of finding bugs. It is performed to check if the system satisfies its specified requirements.




Why is testing required?

Software Testing as a separate activity in SDLC is required because-

  • Testing provides an assurance to the stakeholders that the product works as intended.
  • Avoidable defects leaked to the end-user/customer without proper testing adds a bad reputation to the development company.
  • The separate testing phase adds a confidence factor to the stakeholders regarding the quality of the software developed.
  • Defects detected in the earlier phase of SDLC results in lesser cost and resource utilization for defect resolution.
  • The testing team adds another dimension to the software development by providing a different viewpoint to the product development process.
  • An untested software not only makes software error-prone, but it also costs the customer business failure too like in case of Microsoft’s MP3 player – Zune’s crash.

Who does Testing?

Testing is/can be done by all technical and non-technical people associated with the software. Testing in its various phases is done by-

  • Developer – Developer does the unit testing of the software and ensures that the individual methods work correctly.
  • Tester – Testers are the face of software testing. A tester verifies the functionality of the application as a functional tester, checks the performance of the application as a Performance tester, automates the functional test cases and creates test scripts as an automation tester.
  • Test Managers/Lead/Architects – Develop and define the test strategy and test plan documents.
  • End users – A group of end-users do the User Acceptance Testing (UAT) of the application to make sure the software can work in the real world.

No comments:

Post a Comment