Saturday, May 5, 2012

Software testing : Things to know about

Software Testing Vs Software Quality Assurance
Executing software program purposefully with intention to “find bugs”, “measuring quality, security, functionality and performance” can be defined as software testing. Making sure that the standard procedures are adopted in all the phases of SDLC (Software Development Life Cycle), monitoring & improving process of all phases of SDLC and intend to solve identified all the problems is known as software quality assurance. Software testing is done to detect errors and Software quality assurance is oriented towards “prevention”.

SDLC Vs STLC
Preliminary analysis, Systems analysis, Systems design, Development, Installation & deployment and Maintenance are phases of SDLC.

The need of software begins when a business is in need of computerized solution for its problems or when the business identifies the opportunity for computerized solution. As next step, goals and scopes are defined along with system boundary, cost-benefit analysis and feasibility study. Then, project development plan is developed and other planning documents are prepared. Once that is done, analysis of user requirements is carried out and detailed functional document is developed. On the next phase the requirements are transformed into system design, and then the system design is converted into information system - at this phase system installation, creating and setting up the databases, coding, compiling and refining the programs are done.

Further in testing, STLC (Software Testing Life Cycle) is applied, which has the following phases:
System Study
Test planning
Test case preparation
Test case review
Execute test case
Identify bugs
Report bugs

Types of testing are Defect testing the failed scenarios, including defect tracking, Path testing, Data set testing, Unit testing, System testing, Integration testing, Black-box testing, White-box testing, Regression testing, Automation testing, User acceptance testing, Software performance testing

Once the testing phase is completed, system is implemented in production environment and further maintenance is carried out.

Further on Software testing
Test bed :
Test bed is setting up environment for testing, which includes configuring specific hardware, operating systems, network topology and etc to perform testing. In detailed test plan, “Test bed” should be consider in first point.

Test data :
What data to be tested with the software program. It is used to test effective controls of software with input.

In software testing, term “error” means - deviation of actual and expected output, term “bug” means - the error which can be found in development environment before delivery to customer and the term “defect” means - error which can be found in delivered product to the customer.

Reasons for errors on Software:
Communication gap on what the application should & should not do
Programmers mistake in codes
Changes of requirements
Running to meet deadlines

Only few things about software testing is discussed above out of several points to be considered about software testing.

No comments: