Software Product Testing
Abstract
Software Product testing should be tightly synchronized with product lifecycle from ideation to end of product life to achieve superiority and a competitive advantage of great strategic significance. Testing a product ensures to reduce risks by evaluating the effect of changes to the product (in content, materials, design, positioning or price) on customer preference levels and asses how the product might be improved to conform better to buyer expectations.
Product Life Cycle
What defers Product Testing from Application Testing?
Domain Expertise
Product testing demands domain expertise and test methodology should enable faster development, configurations yet maintaining excellent quality.
Product ecosystem
Product Testing should be carried out to match business processes, creative ideas of design engineers, manufacturing community and end user satisfaction.
Technology disruption
Testing approaches, processes and tools should blend to meet the product configurations, rapid variations in product and technology disruptions.
Why Product Testing Is Important?
The great value of product testing is, perhaps, best illustrated by some of its many uses. It can be used to:
•Achieve product superiority over competitive products.
•Continuously improve product performance and customer satisfaction (i.e., to maintain product superiority, especially as consumer tastes. evolve over time)
•Monitor the potential threat levels posed by competitive products to understand competitive strengths and weaknesses.
•Cost-reduce product formulations and/or processing methods, while maintaining product superiority.
•Measure the effects of aging upon product quality. (shelf-life studies)
•Predict consumer acceptance of new products.
Product Testing Challenges
Product testing challenges have been explained in each phase
Product Testing Strategy
A very good test strategy in place can overcome the challenges to test a product. Test methodology should stress upon
- Short and long term goals of a product.
- Segregating product customizations in to Collaborative, adaptive, cosmetic and transparent customizations for greater test quality
- Platform, browser and device compatibility tests
Integration tests - Regression Tests
- Tests for performance, security and usability
- Plan for known issues.
Test strategy for a product should be flexible to change when the product progresses to the next lifecycle stage.
Enabling a Day in Life of an Engineer
Testing is involved from the Requirement to launch phase. Testers mind set should consistently probe on the below.
- How Correct?
- What is correct?
- What is incorrect?
- What is the impact of incorrect?
- What corrections need to be made before the product moves to next phase?
- How much will it cost to make the corrections?
- How long will it take to make the corrections?
Product Optimization
Product Optimization is a continuous cycle of controlled experiments deployed with rapid review of the impact by selecting the best performing options. This approach will continue until running out of ideas for improvement or reaching the point of diminishing returns.
Conclusion
Testing a product is an important part of the product development lifecycle. Testing is not a single activity that takes place after code implementation, but is part of each stage of the lifecycle. A successful test strategy will begin with consideration during requirements specification. Testing details will be fleshed through high and low level system designs, and testing will be carried out by developers and separate test groups after code implementation. As with the other activities in the product lifecycle, testing has its own unique challenges. As products become more and more complex, well planned and effective test strategy will play a major role.
References & Appendix
Mohapatra, Sanjay - Software Testing: Applications and Product-Testing
Author Biography
Govardhan, Gandavarapu
Has 11 years of IT industry experience working as a Software Development Engineer in Test in PLM and PDM domains, driving quality engineering excellence as per software engineering practices. Implemented Robotic Process Automation, by developing BOTS. Expertise in building robust, scalable, and high quality test automation strategy/frameworks for functional regression and performance testing at all tiers (UI, services, database, etc.)
Mushannavar, Naveen
Has 10 years of professional experience in IT industry working as Software Development Engineer in Test in SAP PS/SD, PLM and PPM domains with strong automation technical background across multiple platforms and tools.
THANK YOU!