Saturday 28 September 2013

MY WORDS FOR UNDERSTANDING SOFTWARE TESTING

Quality Analyst & Software Tester can do Manual Testing is to make sure that the application under test is defect and Bug free and software application is working as per the Business and software requirement specification document.

Quality Analyst & Software Tester can do the testing of the Software manually that means without using any automated testing tool or any automated testing scripts. In this type, tester takes over the role of end user and test the Software to identify any un-expected behavior or bug. 

For Manual Testing there are different stages like Unit testing, Integration testing, System testing and User Acceptance testing.

Starting with a test plan document that is created by test lead or team manager which describes the detailed and systematic approach to testing a software application and there basics of functionality and all impacts of that application and systems.The Manual Testing Concepts also includes exploratory testing as testers explore the software to identify errors in it .Basically the test plan typically includes a complete understanding of what the ultimate workflow will be. To ensure the completeness of testing (100% test coverage) test cases or test scenarios are created. 

For Manual Testing there are different stages:-

1. Unit Testing
Before give a built to Tester basically in testing normally carried out by the developer who wrote the code and sometimes by a peer using the white box testing technique or we can say that Testing of individual software components.In computer programming, unit testing is a method of testing that verifies the individual units of source code are working properly. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class

2. Integration Testing
Basically this stage is carried out in two modes, as a complete package or as a increment to the earlier package. Most of the time black box testing technique is used. However, sometimes a combination of Black and White box testing is also used in this stage.
During Integration Testing, individual and various software modules and builts are integrated logically and tested as a group accordingly per requirement.

As basically a software project consists of multiple software modules, coded by different programmers. The Integration testing focuses on checking data communication among-st these modules.

Hence it is also named as ‘I & T’ (Integration and Testing), ‘String Testing’ and sometimes ‘Thread Testing’.

As every software module is unit tested, defects still exist for various reasons . These new requirements may not be unit tested and hence integration testing becomes necessary.
A Module in general is designed by an individual software developer who understanding and programming logic may differ from other programmers. Integration testing becomes necessary to verify the software modules work in unity
At the time of module development, there wide chances of change in requirements by the clients. 
Interfaces of the software modules with the database could be erroneous
External Hardware interfaces, if any, could be erroneous
Inadequate exception handling could cause issues.



3. System Testing
As on that stage the software is tested from all possible dimensions and integration's for all intended purposes and platforms. In this stage Black box testing technique is normally used. The system testing is the testing of a complete and fully integrated software applications ans systems product as per requirements

Usually software is only one element of a larger computer based system. Ultimately, software is interfaced with other software/hardware systems. System testing is actually a series of different tests whose sole purpose is to exercise the full computer based system.
System testing involves testing the software code testing done by a professional testing agent on the completed software product before it is introduced to the market.

This is a major factor in determining the types of system testing a tester will use. Methods are used by large companies are different than that used by medium and small companies.



User Acceptance Testing
Basically beta testing of the product done by the actual end users testing stage carried out in order to get customer sign-off of finished product. A 'pass' in this stage also ensures that the customer has accepted the software and is ready for their use.Release or Deployment Testing

Beta testing comes after alpha testing. The software is released to groups of people so that further testing can ensure the product has few faults or bugs. Sometimes, beta versions are made available to the open public to increase the feedback field to a maximal number of future users.

No comments: