When QA and development teams work together, everyone benefits. Developers meet their schedules, the QA team releases solid products, and customers get a product that works the way product management planned. If we agree this is the optimum scenario, why does it happen so infrequently? How can you integrate test and development at your company?
State of the Web World
Because of the Web application boom, many QA professionals have a background more in line with the end user of the Web application. Developers now do much of the testing QA engineers used to handle, while the functional and load testing of a Web application has become the job of today's QA professional. Still, high quality Web application delivery is the result of talented development and QA engineers, good communication skills, and best practices for working together.
In addition, most Web applications are constantly being updated, which makes development and testing an ongoing process, thus reinforcing the need for an integrated test and development team. For example, at a European content management vendor, an integrated team works together to continually develop and test new functions and new versions of the software. Their rapid development cycles and rigorous testing plans have to work together to meet production schedules.
But working together requires understanding each other's job pressures. The biggest pressure for both groups is time. Development has deadlines and test has deadlines. Development often sees QA as a time sink, while it seems QA never has the time needed to test a Web application thoroughly. Getting together on this crucial point is imperative if a team is to work together at all.
The following is a list of suggestions that can bring QA and development teams together:
1. Work Together From the Beginning of the Project
It is important for the integrated team to be briefed together by the Web application's sponsor. This provides QA with time to prepare the test environment and also allows QA and developers to hear each other's questions and concerns. This leads to a greater understanding of the functional use of the Web application and provides the integrated team with the necessary information to develop a shared timeline. QA and development also benefit by presenting a united front to the Web application's sponsor. This helps in discussing with the sponsor what can and can't be done and by when.
2. Understand the Web Application's Functional Use Model from the Customer's Point of View
This is a best practice. Unfortunately this best practice isn't practiced much as the Web application sponsors tend to work mainly with development. Once the Web application is written, it is passed to QA for testing. QA is typically on a tight schedule and has huge responsibilities. QA no longer just ensures the Web application works as promised, but that the application works in the way a customer would use it. This is substantially different from testing other enterprise applications.
As a result, today's QA practitioner needs a strong functional understanding of the Web application from its sponsor. Unfortunately if QA gets any information, it is usually from the development team. While this is helpful, the information is more in line with the Web application's specification, not its use model. This, for many teams, is the beginning of misunderstandings. As mentioned above, the best practice is to be briefed together at the very start of the project by the Web application's sponsor. This heads off misunderstandings and provides test with the functional knowledge necessary to begin to build an appropriate test plan.