The test plan is very important in any organization. The Test Plan defines the project’s objectives, scope, approach, and focus of its testing efforts. The process of preparing a Test Plan provides an effective way to think through the efforts needed to validate the acceptability of the application under test (AUT).
Testing Best Practices
There are various roles on projects, some people may play more than one role. You should always check with your organizations testing methodology on what your role(s) are. Below is a breakdown of quality assurance roles and responsibilities:
- Oversees all testing staff and activities for all assigned applications
The Test Strategy defines the general approach that will be employed to test the software and to evaluate the results of testing. It outlines the testing approach, identifies the required resources and communication plan and lists the deliverable elements of the project.
This Test Strategy also supports the following specific objectives:
The testing methodology is very important in any organization. This document lays the foundation for the testing group. It’s main purpose is to set consistency and discipline to the testing process. It guides you through the process by defining why testing is being done, who is testing, what is produced during the various phases, and when it testing should be included in a project.
Software testing is not just limited to testing the application, it also includes documentation. Testing documentation is used for a variety of reasons:
- Explains the purpose & goal of testing
- Explains will be tested & how
- Provide testing results to the project team
I was cleaning out a folder on my machine when I stumbled on an oldie but goodie PDF called “Classic Testing Mistakes” by Brian Marick.
In the paper he states how he breaks the classic mistakes into 5 themes and how to resolve the mistakes:
Test Management tools are very important to any test team. Test teams use these tools to help capture requirements, design test cases, map test cases to requirements, test execution reports and much more. Companies may use one to many tools for this, which range from very expensive to open source. My advice would be to pick a tool that can meet most of your current and near future needs.
It is very important to make sure that your application functions as expected. There may be times that you add one little piece of code and all of a sudden other parts of the application no longer works. You may not have time/capacity to manually go back and regression test all the pieces of your application to make sure they are up to par. Companies use a variety of different testing tools for regression testing. There are lots of tools out there from very expensive to open source.
I attended the Conference of the Association of Software Testing (CAST) this week, which is hosted by the Association for Software Testers (AST). I was very impressed by not only the topics but also the great people. It was nice being able to sit down and discuss topics that we all face out in the field (lack of requirements, process, communication, etc). There were tutorials on different topics like metrics and agile development.
Alan Shalloway, CEO and founder of Net Objectives, presented on the lean software development principles and practices and how they can benefit to Agile practitioners during Agile 2008. For those of you that weren’t able to attend (like me) the video is definitely worth watching.