Thursday, 1 September 2016

Software Testing


Software Testing – Who, When and How it should be done …

what is testing and why it should be done, next thing which strikes is who should be doing all this, when and how.

Taking one thing at a time - who should be doing Testing
Depending upon the project and process it depends on ,who will be doing Testing. In the software industry, Institutions have teams with responsibility to test the product. Various people are involved in testing with developer being one of them involved in unit testing i.e. testing the code they write

People involved in testing within their capacity are as under
  • ·         Software Developer
  • ·         Software Tester
  • ·         Project manager
  • ·         End user 

 After Deciding who all should be involved in the process the next point of concern is whether we can start testing at any moment or we have to have certain criteria met in order to start the process. In this regard, our next thing comes

When exactly we should begin our Testing process 
                            An early start to testing reduces the cost and time to rework and produce error-free software that is delivered to the client. However, in Software Development Life Cycle (SDLC) testing can be started from the Requirements Gathering phase and continued till the deployment of the software. It also depends on the development model that is being used. For example, in the Waterfall model, formal testing is conducted in the testing phase; but in the incremental model, testing is performed at the end of every increment/iteration and the whole application is tested at the end.

Testing is done in different forms at every phase of SDLC:

Analysis and verification of requirements in requirement gathering phase are considered as Testing.
Reviewing the design in the design phase is also a type of testing
By a developer on completion of the code is also categorized as testing.

How Testing should be done……

Plan Testing:-
Testing is a process that begins with the beginning of the project and lasts even beyond the project release. This is the first major task when we talk about Testing in a particular project. Testing, to begin with, has to be done in a planned manner, wherein everything that goes into the project has to be planned right from the testing process to be used, skills, resources, Technology to the completion criteria

Agree on acceptance criteria at the start

                 To start the testing process we need to have requirement document /design document with us. This is something which we need to have before starting our work on test Scenarios and acceptance criteria for the product we deliver.  The acceptance criteria of the project have to be specified at the beginning of the project and not somewhere when the development team is half way in the build phase. It is always better to have the feature well specified in whatever thing we are building  

Get the Right test resources

                              Resources have an impact on working. There is a difference in working approach of people, approach with which a Developer works is different with which a Testing professional do .With different people having different approaches to work it becomes pretty much important to include right resources in the team . 

Plan the cycles
            In every product development cycle, we should take care whenever there is a change in product testing should be done. Testing should be done whenever there is a change in product level which starts from few lines of code to a complete working product .This way we have multiple cycles done at various levels. During testing of a product, we should make sure below test levels are done
  •   Unit Testing
  • System Testing
  •   Integration Testing
  •    User Acceptance Testing 

Use a defect tracking tool and defect metrics

         In today's software development world using something like a spreadsheet doesn't work this is something which needs a modern outlook with a proper defect tracking tool. A defect tracking tool is a modern day thing which helps both the develop and tester, we can put the defect in tracking tool, Update activities, Update Test results. Defect tracking tool automatically tracks the opening and closing of defects. This provides the metrics about the health of the product in terms of quality, we can report on those and can sense about the quality of the product. Also sensing about the product quality gives us estimate about the delivering on time


Using a defect tracking tool automatically generates the metrics. The defects get reported and give a sense about the quality deliverable 

No comments:

Post a Comment