Professionalism in User Acceptance Testing
This article originally appeared in Total Quality Quarterly, published by the CPCU Society, Malvern, PA, www.cpcusociety.org, and is reprinted with permission.
By Marc René, MSSE, CTFL, CSTP
Marc René, MSSE, CTFL, CSTP works at MetLife Auto & Home® where he is Director of Quality Services. René has been published in The Journal of Software Testing Professionals, Software Quality Professional, and Better Software magazine. René is also an Adjunct Professor in the Computer Science Department at Rhode Island College.
Would you trust your automobile to a mechanic who was not certified? Would you entrust your teeth to a non-licensed dentist? You would probably think twice, because certification gives you confidence that the person has the training, skills, and experience to do the job right. Many companies entrust their user acceptance testing responsibilities to part-time testers who have other primary responsibilities within the company, are they taking a risk? This article will explore what defines a skilled user acceptance tester and describes the benefits of testing certification, including how companies can benefit from having ‘professional testers’ on staff.
User acceptance testing is the testing of a system (or change to a system), from a user’s perspective, to determine if the user’s needs, requirements, and associated business processes have been successfully implemented. User acceptance testing is often the final in a set of multiple testing levels that should be used throughout the entire project development lifecycle to ensure the delivery of a quality project.
In its most rigorous implementation, user acceptance testing validates a predefined set of acceptance criteria and is used to formally accept or reject a system. Other user acceptance testing efforts are far less structured, and simply allow users to “play” with the system to ensure they are “happy” with what was implemented. The level or rigor used will depend substantially on the type of project and the potential impact (user, business, financial, reputation) of the change.
Actual users of the system drawn out of the user community can staff user acceptance testing. These users transition into the role of tester when called upon to support the testing effort and return to their day-job when the effort is completed. Another staffing model has full-time testers who act as representatives of the real users. Both staffing models have merit, but skilled, fulltime, and certified testers offer significant benefits when your organization is supporting many fast-paced project implementations. The remainder of this article discusses the benefits of skilled and certified testers to an organization’s user acceptance testing effort.
Not everyone can be a good tester. Testing requires strong communication skills, an eye for recognizing patterns (statistics and mathematics can be helpful here), and a very curious mindset. Of these three, communication is the most critical. Testers spend a significant amount of time researching, writing, and summarizing information. This can include reading requirements documents, documenting defects found while testing, and summarizing testing progress. Testing also requires a balance of three dimensions; understanding the application domain; understanding the tools and techniques of the testing trade; and understanding the relevant technologies. The application domain of the project includes the specifics about the industry. These can include banking, office applications, or auto and home insurance. Testing knowledge can include, test planning, test design, automated scripting, test execution methods, and test reporting techniques. Understanding the technology can include, the programming languages used, networking protocols, or the hardware system architectural components utilized. When performing user acceptance testing, the expectation is that testing skills and application domain knowledge have a higher weight than the specific technology skills for a project. Testing is typically performed from a user’s perspective using the application as users normally may. Understanding the underlying technology is not always critical to actually using an application, and therefore may not be critical to understand while performing user acceptance testing.
Developing application domain knowledge and technical expertise is dependent upon the company performing the testing and beyond the scope of this article. On the other hand, developing a standard set of testing skills across your organization transcends any particular company or industry, and can be achieved through testing certification programs. The discussion of one such program is included in the article.
Certification across an organization gets all testers on the same playing field with terminology, approaches, methodology, and general testing principles. Certifications focus on foundational testing knowledge and sound testing practices. Furthermore, they allow all testers to have a shared understanding about the maturity of testing processes in the organization. Certification also provides a competitive edge – allowing skilled testers to find the right defects with the right amount of effort.
There are many testing certifications available. One is the International Software Testing Qualifications Board (ISTQB) – Certified Tester, Foundation Level (CTFL). ISTQB is a multi-national body overseeing the development of international qualifications in software testing. Their foundational certification, the CTFL, allows testers to distinguish themselves as true test professionals that study the field, and apply fundamental and sound software testing techniques. There is a common glossary of terms and a set of common testing practices that testers must master before sitting for a rigorous exam. There are a number of training courses and self-study material available to assist a tester when studying for the certification.
One training course made available by an internationally recognized testing consultant, Randy Rice, is his Foundation Level Training in Software Testing course. This course is for people seeking foundation level certification based on the ISTQB certification program. The course completely covers the current ISTQB syllabus and provides additional information and guidance in key areas. The course is suitable for people just getting into the field of testing; those seeking the ISTQB – CTFL; those who just need a refresher course or validation for their current testing techniques. Randy Rice provides a live and on-line version of this course. Refer to the following link for more information: http://www.riceconsulting.com/training/foundation-level-course-software-testing.htm.
For those who prefer self-study, there are a few books dedicated to the CTFL certification. One is Foundations of Software Testing: ISTQB Certification by Dorothy Graham, Erik van Veenendaal, Isabel Evans, and Rex Black. This book is the “one-stop guide to passing the ISTQB-CTFL”. The book adopts a practical and hands-on approach, covering the fundamental principles that every tester should know to pass the ISTQB – CTFL exam.
In closing, many industries have certifications to distinguish the true professionals in those fields. Those who are certified are experts and masters of their trade. User acceptance testing is no different. Testers with the right mix of domain knowledge, technical expertise, and demonstrated mastery of testing practices will reward their organizations with higher quality applications and a much higher likelihood of finding defects missed by less skilled testers.
Learn more about ISTQB Software Testing Certification by reviewing the ISTQB Syllabi, Glossary and Sample Questions and Exams.