subject: Best Practices in Software Testing Distinguish Winners from the Also - Rans [print this page] Best Practices in Software Testing Distinguish Winners from the Also - Rans
Every time studies are done on developing and testing software with built-in quality assurance, one recommendation that stands out is 'adopt the best practices in the industry!'. While it might seem an obvious conclusion, the glaring lack of best practices, globally, is nothing short of astonishing. Especially in the economic crisis that has gripped the world, testing services companies, and surprisingly, stakeholders, cut corners on this crucial matter.
Basic Practices in Software Testing
The Must-Do best practices are just that - they are basic to QA. Unfortunately, people take them for granted. "We used to do Reviews and Inspection (or, Functional Specs), but not anymore', means that the basics have been set aside. A shortcut has been taken, and the software product or application is vulnerable.
Here is a list of Must-Do practices that stakeholders need to ensure from their testing partners:
Functional Specifications. While, essentially, these are a key part of the development process, it is critical for software functional tests
Reviews and Inspections. Software inspection, invented in the mid 70s, is recognized as one of the most efficient ways to debug code.
Formal Entry and Exit Criteria. This process goes back to the evolution of the waterfall development process. The idea is to make precise entry and exit criteria for every process step, whether it is inspection, functional test, or software design.
Functional Test variations. Given that there is no measure of coverage for functional tests, the practice of writing variations involves an element of art.
Multiplatform Testing. This best practice should cover all aspects of multiplatform development and testing.
Internal Betas. For small companies, Betas are released to a limited number of customers for feedback. In larger organizations, Betas are used internally and then shipped out.
Automated Test Executions. The goal of automated test executions is to minimize manual work and gain higher coverage with a larger number of test cases.
Nightly' Builds. Three advantages one, if a major regression occurs because of recent errors generated, they are quickly captured. Two, regression tests can be run in the background. Three, newer releases are available to developers and testers sooner.
Look for the next article which covers the Next level in Best Practices, or call BrickRed for the full picture.
This article is contributed by BrickRed Technologies, headquartered at a state-of-art offshore development center in a Tier I offshoring city, NOIDA, Delhi. Every day, some of the world's most hardworking organizations rely on our software and engineering skills to serve their customers safely, securely and reliably.
With offices in the US, UK and Dubai, BrickRed provides services for end-to-end development of commercial grade software products and applications to start ups, emerging and established technology companies and IT enabled organizations. Our work has been endorsed by leading industry experts: The Black Book of Outsourcing, Red Herring Asia, Deloitte Fast 500, and Microsoft, among them.