Home
Updates! What's New?
Got Questions? Get Answers!
QA Overview What is QA?
QA Employment Jobs
Testing Portfolios
Testing Services
Free Consultation
QA Training Become a Tester!
QA Course List
Testers The QA Elite
The Beta Tester
The Game Tester
The Software Tester
Testing SQA Glossary
Types of Testing
QA Metrics
Forms & Templates
Etc... About Us
Contact Me
Privacy Policy

E-mail Address

First Name (optional)

Then

Don't worry -- your e-mail address is totally secure.
I promise to use it only to send you SQA the Right Way!.

Subscribe To Successful Quality Assurance
XML RSS
Add to Google
Add to My Yahoo!
Add to My MSN
Subscribe with Bloglines
 

Software Testing Methodologies

When setting up Software Testing Methodologies you need to be aware of the big picture. Truly effective methodologies take into account more than just the testing that will be performed on the software in question. The implementation of great Software Testing Methodologies takes the entire development process into account. In this way, they support your prime goal – producing superior software with less time, money, and effort.

What are all these other considerations? Let’s take a look…


Realistic Scheduling

Whether highly aggressive or allowing a flexible window to get to market, the team must agree and use a schedule that is as accurate as possible. This is the most important factor when building truly effective software testing methodologies! It is more important to have a schedule that the whole team can meet than to create a schedule which looks good but has no chance of being success.

Without an accurate schedule, the entire development process will be handicapped as confusion undermines all that you do. Teams will be unnecessarily challenged to stay on the same page. Without an accurate schedule, no one has the information they need to focus on the highest priority issues first.

For the engineers to deliver testable software they need to know when graphics and audio will be delivered – or how long they will take to create if done internally. They will need to know if they must create placeholder art and audio until the final versions are ready. Without a schedule that tells them when each of these assets will be delivered, they cannot estimate when they can deliver functionally testable software.

Without an accurate schedule, QA cannot establish a time line for when each test will be executed. In order to create a test plan for the software, you must know when each piece of functionality can be evaluated and when each asset will be delivered. This can all be established with an accurate schedule.


Clearly Defined Deliverables

As mentioned above, all deliverables must be on the schedule. From art and audio assets to planned functionality, from design and technical documentation to tests result reporting, status reports, bug metric reports, you name it! – Every deliverable needs to be defined and given an agreed-upon date for hand off.

Deliverables that are straightforward in content and due date help keep all team members on the same page, focused on the same objective, and working together on the same goal - these are key elements to reach cross-functional team buy in to the software testing methodology you are hoping to install. Any deliverable that is at all ambivalent will result in wasted time and effort. Your team will have to expend more time and energy to redefine a deliverable that should have already been explicit.


Thorough Test Approach

Using information you have gathered, you define your approach testing the software. This information should have been covered in deliverables. You sourced this information from documentation and by meeting with the developers. You should have the all the information you need to map out a clear plan of attack.

In your plan you state what types of tests will be performed and what techniques will be used. You clearly show what tests will be executed against each defined functionality, every identified asset group, and what parameters will define failure and success.

In simpler terms:
• What is going to be tested
• How you are going to test it
• What criteria constitute Pass/Fail
• How and when you will report your results
And that brings us to…


Transparent Reporting

You must set clear expectations at the outset regarding what results will be delivered. Truly effective software testing methodologies has buy-in from all teams on transparent reporting. This is a very simple step, but one of the most difficult to achieve. Everyone has to be openly accountable for their part in the project – some people are not comfortable with this. But if you are a real professional that knows how to do your job, this should be no big deal.

These reports should highlight that each team is on schedule and what they are working on, or if they are not on schedule, why not. When a team falls behind, they must be accountable – and this accountability is most easily achieved by keeping all team progress transparent to each other team. If a team is behind schedule they should be able to identify why they are behind and what they will do to get back on schedule.

Because each team’s progress affects all of the rest, any delay in deliverables must be communicated as soon as possible. Otherwise the schedule will be affected by each team in turn as the delay ripples through the development cycle.

Identifying any slippages, noting the cause, and producing a remedy is the responsibility of each team individually and the project team as a whole. This is because everyone on the team should be working toward the same goal – to deliver superior software.


Effective QA

An effective Software Testing Methodology takes all of these variables into account. With a robust methodology you map out the entire flow of your software development. This is critical knowledge to you as a member of the Quality Assurance team. The QA team will have to interact with every other team and will have its hands on every single element of the software. No other team has this burden.

With a clear methodology, your Quality Assurance team will be able to identify weak points in other teams for which you can plan contingencies – to mitigate their potential impact. You will also have defined how and when the software will be in your hands and when you will be done with it.

Once the software is with your team, your Quality Assurance Processes and Software Testing Procedures will take over. The guesswork will be left behind. You have the software and will be ready to do your part to create superior software

There is no one-size-fits-all answer when it comes to building an effective and comprehensive software testing methodology. Each situation must be individually evaluated to find the best plan for developing and implementing a plan to get your product to market.


As your career in Software Quality Assurance progresses; as you move through the ranks as a QA Tester and then as a QA Lead, you should absorb as much data as possible for what will help you create an effective testing methodology.


If you make this a habit and learn in each position you hold, then when you become a QA Manager, you will have the information you need. You will be prepared to implement the best plans for your QA team because you know which software testing methodologies are right for your situation.

Begin by choosing success and grounding yourself firmly in the fundamentals. By doing the right things first, you position yourself for continued achievement as you advance. Knowing the fundamentals will allow you to more quickly identify which software testing methodologies to apply in any given situation.

Account for each variable and make a plan that shows the Who and When of each deliverable. Get your team to buy-in to accountability to each other. You won't regret it.


Plan to Succeed!






Return from Software Testing Methodologies to Successful Quality Assurance Home

footer for software testing methodologies page