Michael Hackett, VP of Business Operations, LogiGear Corporation

In Part 1 of this article series, Michael discussed the unique training needs for offshore software testing/QA teams.

The Training Areas

Process

It has been said many times that off shoring forces you to be better in your organization and processes. Your offshore team needs to be trained in all aspects of your test process from communication methods, status reporting, the test case management and defect tracking systems, the build process, how much time to spend analyzing bugs to what backup work to do in case of a bad build or downtime. Also, you need to explain why certain metrics are important and what they mean to reduce fear and instill an understanding of measurement.

Part of your training should focus on setting expectations for each tester's workweek. Set ranges for how many test cases you expect completed in a day and in a week as well as how much time to spend executing documented tests versus exploratory testing, and how long it should take to complete a status report template, etc. You will also want to layout lines of communication, especially how the offshore testers will communicate with developers in other locations.

Your training must communicate expectations about requirements, the dynamic nature of software development and change control. Companies are driven by both technology and the market. Domestic test teams are both resigned to and understand the need for scope creep. I have seen many instances where an offshore team thinks the project team is naive or badly managed when project requirements change, not understanding the "agile" processes the domestic team is using to adapt throughout the development cycle. Build a training activity around requirements stability and what to do when requirements change. Here, an ounce of prevention is worth a pound of cure!

Don't rely on an offshore test team's Six Sigma or CMM processes during your project. Many offshore outsourcers and even offshore divisions of US software producers have implemented strict development processes and systems of measurement to gain credibility. The overwhelming majority of US software development organizations do not use or care about these certifications. Instruct your offshore test team in your process, don't use theirs. During training compare and contrast CMM-type processes with yours to promote understanding.

Product and Domain Knowledge

The two most crucial and most difficult areas for your test team training are domain knowledge and test technologies and methods.

Given the limited time for training and the depth of knowledge needed to test effectively, getting your technically-savvy offshore team to learn about your business area, product line and customers is the toughest training task you will face. For most test teams, having a balance between testing from a business user's perspective and testing from a technical perspective is key. A good rule of thumb with offshore teams is "hire for technical knowledge, train for business knowledge". Plan and budget for extensive training on the product and business domain. It will pay off!

From tasks as long and complex as writing and executing end-to-end user scenarios to simple requirement validation, I would not rely on either the current test cases or a user manual as the sole learning tools for domain knowledge. They are typically dry and not at all interactive nor do they promote the questioning and full understanding the offshore test team will need for success. A better bet is to conduct a very interactive training session about the users. Effective training will include setting up an exercise with mock users from a made-up office where different students will have different roles and tasks in using your product. Once your team understands the context in which the software is used, they will be much more effective in testing from the user perspective.

Testing Techniques

Before you develop training on testing techniques, examine your staff. What is the background of your offshore team? They are probably Computer Science college grads. The trend overseas is to almost exclusively hire computer science or information systems grads to work on software development projects. If you have not worked with offshore test teams already, get ready for a very technically skilled test staff that is very eager to learn to do your work and more. Even though the offshore test team may not know much about how to test, more than likely they are all fast learners and hungry for knowledge.

Now that more companies are sending new development projects offshore, especially consumer products, new and different testing skill sets are needed. Your training needs to take developers "across the bridge" to becoming testers and not developers.

It is well understood that a bug as a code issue is often different from a bug as a user issue. This topic is more about development culture rather than a quick training item. Your offshore test team needs to have a solid understanding of the differences between developer testing and tester testing as well as an understanding of quality, customer satisfaction and the cost of quality, such as the costs involved with releasing unplanned patches or making customer support calls.

How to test for buffer overflows versus developing effective user scenarios requires different training. Both are essential. Some developers have no interest in the user experience and are much more fascinated by the system level workings of the code. The user experience and the bugs normally found at the user interface may be missed, greatly reducing customer satisfaction and increasing the immediacy of patch builds.

Depending on the team, your testing technique training may need to include basics such as model-based testing, equivalence class partitioning, forced error testing, and writing user scenario and requirements-based tests. These are the easy ones.

You may also need to focus on a variety of more abstract topics including:

  • Exploratory testing style- what it is, how to start, how to measure, when is it most effective?
  • Test case design style such as Soap Opera testing- what is it, how to write the test cases?
  • Common approaches to breaking software- such as James A. Whittaker's approaches to breaking software (www.howtobreaksoftware.com).

These training sessions on testing techniques need to be fun and creative, with emphasis on exercises, activities and games.

In Part 3 of this article series, Michael will discuss the following training areas:.

  • English Training
  • Cross-Cultural Differences and Working with the Domestic Team
  • Training Your Domestic Staff

In the fourth and final part of this article series, Michael discusses:.

  • Staff Retention and "Train the Trainer"
  • Training Material and Training Sessions
 
Back Top