stlc– software testing life cycle

7
STLC – Software Testing Life Cycle

Upload: subash-kumar

Post on 13-Apr-2017

428 views

Category:

Software


1 download

TRANSCRIPT

Page 1: STLC– software testing life cycle

STLC – Software Testing Life Cycle

Page 2: STLC– software testing life cycle

Testing Phases– Development Integration Testing– System Integration Testing– User Acceptance Testing– Performance Testing– Post Launch Validation

Page 3: STLC– software testing life cycle

Development Integration Testing

Unit and Integration Testing is done on Development Environment.

Unit TestingDone by the developer at Unit Level.Unit is the smallest piece of software that can be tested in isolation.Unit can be Screen/front end program, Batch Programs, Library/DB stored Units.Unit Testing uncovers error like comparison of different data types, incorrect logical operators or precedence, incorrect comparison of variables, improperly modified loop variables, etc.Benefits of Unit Testing is to Ensure Code meets the requirements, Simplifies Integration.

Integration TestingConducted by the Project team integrating the modules.Starts at module level when various modules are integrated with each other to form a sub systems or systems.Integration testing is testing of entire application – from start to end.Four basic approaches to testing while integrating the modules are Bottom up, Top down, Critical Path First, Big BangIntegration Testing is required because data can be lost across interface, sub functions, when combined, may not produce the desired major function, Module combinations may produce a different behavior due to combinations of data that are not exercised during Unit Testing.

Page 4: STLC– software testing life cycle

System Integration TestingConducted by project team or by separate testing team if any, its done in production environment.Validates that the systems meet its functional and non functional requirements.It’s a final phase of testing before delivery.System Testing is testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements.In system testing test cases will be executed to determine if the application functions as per the requirements. Various special test are grouped on the basis of application under test and the type of tests performed – Requirement Testing, Usability Testing, Load Testing, Stress Testing, Performance Testing, Configuration Testing, Compatibility Testing, Security Testing, Recovery Testing, Regression Testing, Error-handling Testing, Manual-support testing, Inter-systems testing, Smoke Testing, Sanity Testing, Parallel Testing.Specialized systems and applications Client server systems, Web based systems, Commercial off the shelf software (it is nothing but evaluating a software against certain business release against requirements. Ex – Antivirus software, ms office

Page 5: STLC– software testing life cycle

User Acceptance Testing

Final stage of testing before the system is accepted for operational use.Done with the data supplied by the clientTesting the system with the intent of confirming readiness of the product and customer acceptance.Validates – User Needs (Functional), System Performance(Non-Functional)The idea is that if the software works as intended and without issues during a simulation of normal use, it will work just the same in production.Results of these tests will allow both the customers and the developers to be confident that the system will works as intended.The performance and reliability of the system will be tested and confirmed.Acceptance Testing – Alpha Testing

Tested at developer site by customer, developer records error & usage problems, test conducted in a controlled environment.Acceptance Testing – Beta Testing

Beta testing conducted at one or more customer sites by the end user of software, Live application environment cannot be controlled by developer, Customer records all problems encountered and reports to developer at regular intervals.

Page 6: STLC– software testing life cycle

Performance Testing

Software performance testing is a means of quality assurance (QA). It involves testing software applications to ensure they will perform well under their expected workload.Performance testing is done to provide stakeholders with information about their application regarding speed, stability and scalability. More importantly, performance testing uncovers what needs to be improved before the product goes to market. Without performance testing, software is likely to suffer from issues such as: running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability. Performance testing will determine whether or not their software meets speed, scalability and stability requirements under expected workloads.

Post Launch ValidationThis will be managed by the Test team first and Business test team later, with support from the Test Team and Development teams, as required.Testing Team should prioritize the defects based on severity and ensure that once they are fixed by Development team it should be tested out and in the regression testing the severity defects which impact the functionality should be given high preference.

Page 7: STLC– software testing life cycle

Thank you

subash