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

  1. Short and long term goals of a product.
  2. Segregating product customizations in to Collaborative, adaptive, cosmetic and transparent customizations for greater test quality
  3. Platform, browser and device compatibility tests
    Integration tests
  4. Regression Tests
  5. Tests for performance, security and usability
  6. 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.

  1. How Correct?
  2. What is correct?
  3. What is incorrect?
  4. What is the impact of incorrect?
  5. What corrections need to be made before the product moves to next phase?
  6. How much will it cost to make the corrections?
  7. 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!