Effective Software Testing

Effective Software Testing
A 1994 study in US revealed that only about “9% of software projects were successful”
It is an understatement to say that –

Unreliable software can severely hurt businesses and endanger lives depending on the criticality of the application. The simplest application poorly written can deteriorate the performance of your environment such as the servers, the network and thereby causing an unwanted mess.
To ensure software application reliability and project success Software Testing plays a very crucial role. Everything can and should be tested –
• Test if all defined requirements are met
• Test the performance of the application
• Test each component
• Test the components integrated with each other
• Test the application end to end
• Test the application in various environments
• Test all the application paths
• Test all the scenarios and then test some more
What is Effective Software Testing?
How do we measure ‘Effectiveness’ of Software Testing?
The effectiveness of Testing can be measured if the goal and purpose of the testing effort is clearly defined. Some of the typical Testing goals are:
1. Testing in each phase of the Development cycle to ensure that the “bugs”(defects) are eliminated at the earliest
2. Testing to ensure no “bugs” creep through in the final product
3. Testing to ensure the reliability of the software
4. Above all testing to ensure that the user expectations are met
5. The effectiveness of testing can be measured with the degree of success in achieving the above goals.
Steps to Effective Software Testing:
Several factors influence the effectiveness of Software Testing Effort, which ultimately determine the success of the Project.
A) Coverage:
1. The testing process and the test cases should cover
2. All the scenarios that can occur when using the software application
3. Each business requirement that was defined for the project
4. Specific levels of testing should cover every line of code written for the application
There are various levels of testing which focus on different aspects of the software application. The often-quoted V model best explains this:

The various levels of testing illustrated above are: Unit Testing 2. Integration Testing 3. System Testing 4. User Acceptance Testing
The goal of each testing level is slightly different thereby ensuring the overall project reliability.
Each Level of testing should provide adequate test coverage.
Unit testing should ensure each and every line of code is tested
Integration Testing should ensure the components can be integrated and all the interfaces of each component are working correctly
System Testing should cover all the “paths”/scenarios possible when using the system
The system testing is done in an environment that is similar to the production environment i.e. the environment where the product will be finally deployed. There are various types of System Testing possible which test the various aspects of the software application.
B) Test Planning and Process:
To ensure effective Testing Proper Test Planning is important
An Effective Testing Process will comprise of the following steps:
1. Test Strategy and Planning
2. Review Test Strategy to ensure its aligned with the Project Goals
3. Design/Write Test Cases
4. Review Test Cases to ensure proper Test Coverage
5. Execute Test Cases
6. Capture Test Results
7. Track Defects
8. Capture Relevant Metrics
9. Analyze
Having followed the above steps for various levels of testing the product is rolled: It is not uncommon to see various “bugs”/Defects even after the product is released to production. An effective Testing Strategy and Process helps to minimize or eliminate these defects. The extent to which it eliminates these post-production defects (Design Defects/Coding Defects/etc) is a good measure of the effectiveness of the Testing Strategy and Process. As the saying goes - 'the proof of the pudding is in the eating'

0 comments:

Post a Comment

Who ever writes Inappropriate/Vulgar comments to context, generally want to be anonymous …So I hope U r not the one like that?
For lazy logs u can at least use Name/URL option which don’t even require any sign-in, good thing is that it can accept your lovely nick name also and URL is not mandatory too.
Thanks for your patience
~Best job portal admin(I love "Transparency")