Profession​al Tester

Don McNeil is the director of a testing center for a large software company. He visited my software engineering class and gave a presentation about the latest trends on software testing.

Don said: “Testing is more than just finding defects. Inexperienced testers do not know that and are happy with the number of defects that they found. Experienced tester also found defects but works with developers to make sure that they are fixed. Professional testers do more than that, they work with developers to make sure they do not create defects; they work with users to define better requirements; they work with security specialist to make sure software is tested for security; they work with project manager to identify and mitigate risks; and they work with quality assurance to test for compliances, etc.”

“Basically, the role of tester has changed and become more important today than previously. Testing is a professional career and it is the fastest growing jobs in IT industry. According to several research firms such as IDC, Gartner, and Forrester, the industry’s spending on independent testing services could pass the benchmark of $30 billion dollar by 2015. More software companies are outsourced testing to professional testing service providers rather than perform testing themselves as the skills of testers are getting more sophisticated.”

He explained: “Because of bad requirement gathering and changes in requirements later in the development life cycle, testing becomes very expensive. The cost of fixing defects later in software development is reaching all time high. Today most software is large and complex, which is difficult for inexperienced testers to find defects. Bad requirements lead to more changes; more changes lead to more defects, especially after the software is released to users. As a result, it is important for testers to focus on requirements validation. Unfortunately, most testers could not do that. Professional testers know how to start early during requirements gathering phase. They work with users to make sure that requirements are clearly defined and testable.”

“As more companies are using cloud computing, security is one of the most important concerns. Securing all the apps that run over the cloud is critical. Inexperienced testers do not have the security testing skills, most only know about coding and testing for defects. Professional testers know how to work with security specialist to make sure all applications are fully checked for security and vulnerability. Thus testing the cloud security, testing applications for security add more tests on performance and security. These are things that professional testers can do.”

“Many companies are using “Platform-as-a-Service (PaaS) which comes with its own set of testing complexity. It facilitates customers to use the underlying components thus leveraging integrated development environment (IDEs) in cross browser environments. It demands more sophisticated analytical techniques to validate components functionality and performance. These are things that inexperienced testers do not know. Professional testers understand how to evaluate for load testing and compatibility testing with various browsers.”

“Every software project has risks. Although building risk mitigation strategy is the job of the project manager but one of the biggest risks are having defects after the software is released and fixing them is very expensive. Inexperienced testers often check the code after developers completed their works. Professional testers start early by working with project manager to plan for more test automation, test framework, end-to-end app testing, etc. which can mitigate these risks.”

“Today, many companies are using vendor’s software or outsourcing part of their software to external companies. If the company is building commercial software products, it is possible that their intellectual properties could be stolen. Inexperienced testers do not know how to deal with this issue. Professional testers know how to test vendors’ software and outsourced applications to help companies protect their Intellectual Properties against any theft. This kind of protection is extremely important in order to gain confidence and is directly linked to the company’s revenue generation strategy.”

“Today, there are increasing numbers of regulatory compliances from governments. It requires more compliance tests. Every company must follow new set of compliances which vary for each and every industry. Failure to meet any of these can be costly and could damage the company reputation. To meet these industry-specific compliances, compliance testing must be added to the way testing is conducted. Professional testers know how to test for compliance, they know how to work closely with quality assurance and compliance rules to make sure that all software is fully in compliance with government regulatory.”

“Today, many companies are beginning to understand the benefits of having professional testers. Some are setting up their own testing center and hire experienced and professional testers. Many are outsourcing testing to independent testing companies. By leveraging these people’s expertise in testing framework and test processes, company can move away from their unproductive test groups and inexperienced testers and focus on develop software product.”

In the past, many testers are treated as less important than developers. To advance, many testers have to become developers but today there is a clear career pathway for people who are interested to become professional testers. There is some training available but nothing is better than having experiences. Testers can improve their skills by learning about security, compliances, performance and various types of new tests that come with new technology. A career for professional tester is also very bright as most of them making on the average $110,000 to $150,000 as test consultant or test strategist.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University