Trends in Software Testing

Software testing, as a key component of the software quality assurance (QA) process ensures that any software product, service or facility complies with potentially complex sets of standards and requirements. At the end of this process, the software product can acquire the status of “fit for purpose” upon using well documented software development methodologies.

Since the announcement paper of the Waterfall methodology in 1970, the IT community has seen the rise, glory and downfall of this model, considered at the time by experts as one of the most innovative software development methodologies. According to Waterfall, testing was based on the linear and sequential approach to verification and validation activities that were associated with the separate tasks of the software design and system development. At the beginning of the past decade, many companies moved into the growing popularity of the Agile methodologies that use iterative development cycles with extensive teamwork and customer participation. Agile is easier to be implemented, produces less documentation and provides faster results.

These days software testing is affected by factors like global dispersion of development resources, an increase in test automation, and the commoditization of the IT. It is also finally becoming more aligned with business needs.

Outsourcing continues to be a trend, as your testing job might move to Philippines now, if it has not been moved to India yet. For example, salaries of a typical Software Engineer are: US – 60K, India – 7K, and Philippines – 3K).

Test Automation will increase, as it did in the last few years. However, the use of the manual testing will still prevail in certain areas, as far as the application is used by humans, though manual tests would utilize more tools. Nobody will be surprised to see software solutions in which business analysts open an application to quickly check off what they want to test, followed by the system printing out a nice test summary report.

Cloud Computing is an Internet-based solution, where the shared resources, software and information are provided to computers and other devices on demand, much like in the electricity grid. Recent studies show that software testing is now moving into Cloud.

The term “Cloud” hides behind it a few different terms related to software testing: SaaS (Software as a Service), TaaS (Testing as a Service) and PaaS (Platform as a Service). The research shows that more and more companies understand the importance and the opportunities of the Cloud and are building their services to be available in this new technology. The expectation is to see more companies performing their testing more easily and cheaply as more testing resources become available online and on demand.

Test Driven Development (TDD) is not a new methodology. However, it is suddenly at centre stage, as it ensures that your product source code is thoroughly unit-tested in comparison with traditional methodologies, where unit testing is recommended but not enforced. TDD combines testing first development and refactoring. Optimizations to TDD includes the use of tools to improve code coverage by creating parameterized unit tests that look for boundary conditions, exceptions, as well as assertion failures.

TDD is gaining popularity as it allows an incremental methodology, where defects are detected and fixed as soon as the code is written, rather than at the end of the iteration cycle or the milestone.

Crowd testing is a new and emerging trend in which companies rely on virtual test teams, created on demand, to get complete test coverage rather than relying on a dedicated team of testers. Companies define their test requirements in terms of scenarios, environments, and the type of testing (functional, performance, etc). The crowd test vendor identifies a pool of testers that meet the requirements, creates a project, and assigns work. Testers check the application, report bugs, and communicate with the company via an online portal. Crowd testing vendors also provide other tools, such as powerful reporting engines and test optimization utilities. Testers will bid on various projects or developers will choose the testers that they require. The advantages are in terms of reducing the test cycle time and substantial cost savings.

Crowd testing is a new and emerging trend in which companies rely on virtual test teams, created on demand, to get complete test coverage rather than relying on a dedicated team of testers. Companies define their test requirements in terms of scenarios, environments, and the type of testing (functional, performance, etc)

During our challenging economic times, QA professionals must understand better where the software testing industry is heading and how the new testing processes can impact their work.

Managers and software leaders need to change their way of thinking about the QA professionals’ role, test methodologies, technologies and processes. There is a growing understanding in the IT industry that quality will become everybody’s responsibility in the future, and many organizations will start to look at quality more holistically.

  1. Thanks Michael, delighted to read all these!

    Sep 5th, 2011

Add a comment

Comment feed
The better to greet you with
No one will ever see this
Your pride and joy
The reason this comment form exists

The crew behind ASOT

We're a team of interactive, software, and business intelligence experts skilled in the design, construction, and management of online enterprise systems.

Visit The Jonah Group site

Get in touch with us