Thursday, October 20, 2016

Introduction to Software Testing-Part One

Question:What is Software Testing ?
Answer:"Finding bugs/errors in software is called software testing"
Is it wrong answer?
No,It is incomplete answer
Then what is complete answer?
Finding errors/bugs in software is a part of software testing but software testing is :
'Validating the software application against the requirement and to uncover the behavior of application which can negatively impact the end users"
Software testing is an engineering process and it is not an art.As in manufacturing engineering, Engineers always try to increase the production of any item per hour in any manufacturing companies who makes product similarly test engineer always try to increase the rate of finding bugs.Software testing is a complete engineering process.
Software testing engineering is growing rapidly.We have seen lot many enhancements/improvements and changes in software testing process from traditional software testing to Rapid Software Testing(RST).
I will try to share each and every aspects of software testing in details which are known to me but I am starting from the basics.
Development of any software application follows the SDLC (Software Development Life Cycle).And software testing is a part of SDLC. There are many SDLC models like Waterfall model,Iterative model,V-model,spiral model and RAD (random Application development) model etc.But the basic steps of testings are same in all models.
Ideally Software testing process starts at the time when anyone start thinking of making any application but actual testing starts when the product is available for testing after development. In real world testing process starts when basic requirements are ready for making any application.Following are the basic steps of traditional software testing
STEP 1: Requirement understanding: Testers get the requirement details from the business and after that they analyse the requirements and try to understand the requirements from the users perspective.During requirement analysis,several queries comes in testers mind and they raise those queries and get the clarification from the higher authorities and the business.
STEP 2:Test Plan preparation: After understanding the complete requirements,testers starts preparation of Test plan.It is very important part of Testing process.In this step they give estimates about how much time testing will take based on their experience .They decide about the approach of testing whether compatibility testing,security testing ,performance testing and regression testing will required or not.They decide about the data conditioning and so many other things.In a large team usually senior tester or team lead prepare the test plan but if team is small and only one person is handling the complete testing then he prepares the test plan.
STEP 3:Test Case preparation:After understanding and analyzing the requirements testers start the test case preparation.Test case is a high level functionality which needs to be tested.In test cases all requirement should be covered.Usually requirement tracebility matrix can be used to ensure that all requirements have been covered in test cases.
STEP 4:Test Case review: Review of test cases start after completion test cases. Reviewer provides their comment. Reviewer can be any person who knows about the application/requirements/testing.Based on reviewers comment testers modify the test cases if the review comment is valid.
STEP 5:Test Data preparation: To test some application there can be a need of some specific data.Testers have to prepare the test data for testing the application.
STEP 6:Test execution and Defect Management: When development is done of the application then it comes for testing.Then execution of test cases start.If tester face any issue then they raise bug and assign severity and priority to the bug.When bugs get fixed then testers do retesting.After completing the execution of test cases testers do regression testing of application to make sure that existing functionality is working as expected.
STEP 7:Testing Sign Off: After execution of all test cases if application meet the release criteria like all the bugs closed or in some cases if all the critical/immediate/high bugs are closed or then testers give sign off of the application for release.In some cases based on the deadline and system status management takes decision to release the application in production.
to be continued.....

1 comment:

  1. Hello,
    The Article on Introduction to Software Testing is good it give step by step information about it thanks for sharing the information about it. Software Testing Services

    ReplyDelete