By Rex Black
If you‘re a professional tester, test manager, quality assurance staff member, or programmer responsible for testing your own code, you have already discovered that, far from being trivial and straightforward, testing is hard. There‘s a lot to know. Unfortunately, most practitioners tend to carry out testing as if it were 1976, not 2006. Common practices lag best practices by around 30 years. ISTQB certification is about raising common practices to the level of best practices.
Suppose you are a tester on a project to develop a new system at your company. Somebody e-mails you some screen prototypes with notes that describe the input and output ranges for each field, the actions taken based on particular inputs, and the possible states associated with key objects managed by the system. Would you know how to start designing tests for such a system? ISTQB certified testers do.
Suppose you are a programmer on the same project. You are using a newly purchased tool to help generate and execute unit tests on your code. It reports the statement, branch, condition, and multicondition decision coverage achieved by the tests, and flags constructs that were not tested. Would you know how to create additional tests for the uncovered constructs? ISTQB certified testers do.
Suppose you are a test manager on this project. After four weeks of testing, the project manager asks you, “Based on testing so far, what are the remaining risks to the quality of the system?” Would you know how to do risk-based test status reporting? ISTQB certified testers do.
ISTQB certified testers know how to do these things and more because they have mastered the topics laid out in one or more of the ISTQB syllabi. They feel confident that they have mastered these topics, and can prove to others hat they have, because they have passed one or more of the ISTQB recognized examinations, rigorously developed to check each examinee‘s abilities to recall, understand, and apply key testing concepts.
In this article, I will explain how the ISTQB certification program works. You‘ll become familiar with the Foundation and Advanced syllabi, and you‘ll know where to find online copies of each so you can learn more. I‘ll tell you how you can prepare for the exam, laying out options from self-guided self-study to attending courses. I‘ll discuss the exams and what to expect when taking them.
What is the ISTQB Program?
In a nutshell, any tester certification program worth your consideration should confirm, through objective, carefully designed examinations, your professional capabilities. Not only does the ISTQB program do so, it is also practical and real-world focused. We address only concepts that you can apply to your work. We support your career path by providing levels of certification that correspond to your experience and roles. Further, we promote and advance software testing as a profession, not merely an ancillary role on a software development team.
So far, the ISTQB program might sound like other tester certification programs you‘ve heard of. Here are a couple unique characteristics. First, the ISTQB syllabi are developed by working groups composed of worldwide experts in the field of software testing, including practitioners, consultants, trainers, and academics. Thus, at each level of the program, you are guided by the distilled wisdom of over 100 experts. Second, while the ISTQB accredits certain training courses, there is no requirement to take expensive training or to purchase pricy study guides. You are free to take the exam with as much or as little help as you need.
Who Are These People Anyway?
The ISTQB program, like all software tester certifications, is ultimately a fiat certification. That is, the people who create, administer, and run the certification stand behind it, and the quality of the certification—or lack thereof—arises from the knowledge, reputation, and abilities of the people involved. So, you‘ll want to know the ISTQB.
The International Software Testing Qualification Board (ISTQB) is a fast-growing, highly dynamic, and extremely democratic organization. We are a united assembly of member boards, with each board representing major software and system developing countries and regions. Currently, we have 27 member boards, though we intend to admit two or three new boards in our September 2006 meeting and aim to have close to 40 boards by mid-2007. We are a collegial group, focused on cooperating and sharing what works between the member boards. I am the ISTQB President and Erik van Veenendaal is Vice President.
The ISTQB gets its work done through working groups. We have working groups that develop, maintain, and update the various syllabi and the glossary, as well as defining processes and governance matters. Each member board can participate in the working groups. Across the various member boards, we have over 1,000 person-years of testing experience.
The American Software Testing Qualification Board (ASTQB) is the member board for the United States. Like all member boards, we are composed of recognized experts in the field, and include a mix of practitioners, consultants, trainers, and academics. The current officers are Rex Black, President; Patricia McQuaid, Vice President; and, Wayne Middleton, Treasurer. Taz Daughtrey, Jerry Everett, Joe Gance, Andrew Pollner, and Randy Rice are Directors. In addition, Jon Hagar, is an officer in his role as Technical Advisory Group Chair. He and his half-dozen or so technical advisory group members handle the essential member board functions of creating exam questions and exams and accrediting training courses. Finally, Lois Kostroski is the Managing Director, who arranges for administration of the exams, the Website, and other such details.
What is the Value of ISTQB Certification?
The ISTQB program is run by volunteers. Of course, many of us benefit from our involvement, whether in terms of professional prestige, advancement at work, or business opportunities. However, we participate because we believe in this program and the value it delivers.
For the test professional, programmer, manager, and other examinees, holding an ISTQB certificate demonstrates mastery of the best practices and key concepts in the field. This can help advance your career. In addition, by distinguishing yourself from the mass of lesser-qualified test practitioners, holding one or more ISTQB certificates can create opportunities in a competitive, outsourced, and increasingly commoditized job market. So far, test professionals around the world have earned over 35,000 Foundation and Advanced certificates.
Most people who go through ISTQB training and take ISTQB exams are doing so at the behest and at the expense of their employers. Hundreds of smart, well-managed organizations around the world have learned to value the ISTQB certifications because employing ISTQB certified testers ensures better testing, resulting in better software, reduced risk, and lower costs of poor quality, and delivers test consistency and re-usability.
Finally, the ISTQB delivers value to the software testing profession itself. As I mentioned earlier, common practices lag best practices by about 30 years. If programming were stuck in the same rut, 90% of the code would still be written in COBOL, and only 10% of the code would be written in Java. How has software programming progressed while software testing remains stuck in the 70s? Is it that software testers love disco music and sideburns, or has something else happened—or not happened?
Programming, as a profession, has built on its best work. Assembly languages gave way to higher-order languages. Higher-order languages enable structured programming. Structured programming fostered object-oriented programming. Yet, in software testing, we still have practitioners who are unaware of the concepts of equivalence partitioning, boundary value analysis, and error guessing. Worse yet, some people in our field are reinventing and renaming these concepts, leading to inefficiency and confusion.
We at the ISTQB say that we software testers should start building on our best work and stop going in circles. We have learned a lot since Glenford Myers, Richard Bender, Bill Hetzel, and Boris Beizer established software testing as a field. Let‘s use their concepts and the concepts that have grown from them to define the profession and what professional testers need to know. I invite you to join us as we lead the way towards a truly professional field of software testing, built on a solid foundation.
What Are the Levels of Certification?
The ISTQB certification program is comprised of three levels of certification: Foundation, Advanced, and Expert. At each level, the ISTQB asserts that people claiming to be test professionals should have a particular amount of practical, hands-on experience as well as knowing and being able to apply particular key ideas. The experience required and concepts to be mastered for each level are defined in the syllabus (plural, syllabi) for that level. Another way to think of the syllabi is as bodies of knowledge or standards for professionalism defined at major stages of a tester‘s career.
The Foundation Certification is the entry-level certification, designed for people entering the field and for experienced practitioners wishing to start moving up the ladder of ISTQB certifications. The goals of the Foundation Certification are to ensure a broad understanding of the fundamental best practices and key concepts in software testing, and to provide a foundation for professional growth. The syllabus covers six main topics: fundamentals of testing; testing in the software lifecycle; static techniques like reviews; behavioral (black-box) and structural (white-box) test design; test management; and, testing tools. Syllabus-based Foundation training courses are typically three to five days.
The Advanced Certification is the mid-level certification, designed for those with at least five years experience as testers. The goals of the Advanced Certification are to ensure an understanding of advanced best practices and key concepts in software testing amongst committed test professionals, and to support on-going professional growth. The syllabus is divided into three main areas: advanced behavioral (black-box) testing and testing standards for businessoriented testers; test automation and advanced structural (white-box) testing for technically-oriented testers and programmers; and, sophisticated test management concepts for managers. Across all three areas, syllabus-based training courses are typically eight to ten days.
The Expert Certification, which will begin to be deployed in 2007, is for leaders of the field of software testing, those with eight or more years of experience. The goals of the Expert Certification are to ensure consistent understanding and execution of proven cutting-edge techniques by seasoned test professionals, and to lead the software testing profession. Since experts tend to specialize, we will offer various expert syllabi addressing topics like test process improvement, test automation, test management, and industryspecific test techniques. Syllabus-based training courses will again be offered, and, in fact, my company, RBCS, will offer a pilot expert course on test process improvement in 2007.
You have four main options to prepare for the exam: self-guided self-study, use of books, e-learning courses, and instructor-lead courses. I‘ll present these options in that order, though you should not assume that any one option is necessarily better or worse. You have your own needs in terms of studying and preparation, and your own most efHow Do I Prepare for the Exams?
What Are the Exams Like?
The ISTQB Foundation and Advanced exams contain from 30 to 40 questions. You‘ll have 60 minutes to complete the exam if you are taking the Foundation exam, and 90 minutes to complete the exam if you are taking an Advanced exam.
There is only one Foundation exam. There are three Advanced exams:
- Functional Tester, targeted mostly at testers doing business-oriented, behavioral (black-box) testing, especially those in independent test teams;
- Test Manager, targeted mostly at test managers, development managers, and project managers responsible for testing;
- Technical Tester, targeted mostly at testers involved in automation, and at testers and programmers who are doing structural (white box) testing.
Each exam is created according to ISTQB guidelines by drawing from a pool of 150 or more carefully crafted questions. Thus, if you retake an exam, you will see different questions.
The exam questions are multiple-choice. However, they are not the relatively easy multiple-choice questions you might remember from high school. These questions are specifically designed—with the help of psychometricians, professional exam creators— to measure the extent to which the examinee has mastered the key concepts in the syllabi.
The key concepts in each syllabus are defined in terms of learning objectives. Each learning objective has an associated level of mastery associated with it: 1) precise recollection; 2) detailed understanding; or, 3) the ability to thoroughly apply the concept to a real-world problem.
On the next page you‘ll find an example, drawn from my company‘s Foundation training materials. The Foundation syllabus says that all testers should be able to write test cases using equivalence partitioning and boundary value analysis. Specifically, there is a level-three learning objective associated with being able to do so. The sidebar shows a sample exam question designed to verify a testers mastery of this concept.
Study the sample question. What do you think the right answer is? Can you explain why? See the end of this article to check your work.
Sample Exam Question
A field accepts an integer input from 1 to 99 representing the quantity of an item to be purchased. Consider the following numbers:
Which of the following statements are true?
A. II, IV, and VII are boundary values, while are I, III, V, and VI members of the invalid—too low, valid, and invalid—too high equivalence partitions
B. I, III, V, and VI are boundary values, while II, IV, and VII are members of the invalid—too low, valid, and invalid—too high equivalence partitions
C. All seven values are boundary values and members of one of the three equivalence partitions
D. Only I, III, V, and VI are members of one of the three equivalence partitions
Select the one right choice above.
How Do I Prepare for the Exams?
You have four main options to prepare for the exam: self-guided self-study, use of books, e-learning courses, and instructor-lead courses. I‘ll present these options in that order, though you should not assume that any one option is necessarily better or worse. You have your own needs in terms of studying and preparation, and your own most effective learning style.
Self-guided self-study would occur when you download the syllabus and glossary from the Internet (see below) and then use those documents to guide your preparation. The use of the syllabus and glossary is essential no matter what mode of preparation you choose, but, for very experienced testers who have carried out testing efforts following standards like IEEE 829 and have read two or three of the books on testing referenced in the syllabus, this alone might be sufficient.
As I mentioned, there are books (and standards) which are referenced by the syllabus.
You could pick up a few of these books, along with copies of the standards, and study them, again using the syllabus and glossary as resources and guides. Alternatively, you could buy just one book that is entirely focused on the syllabus you are interested in. Along with Erik van Veenendaal, Dorothy Graham, and Isabel Evans, I wrote such a book on the Foundation syllabus, Foundations of Software Testing. I expect similar books at the Advanced syllabus level shortly.
If you find that you have trouble teaching yourself concepts from books and documents, and need more structure to make things stick, then perhaps an e-learning course is for you. For example, Villanova University offers an accredited e-learning course for the Foundation exam. (Full disclosure: My associates and I helped Villanova create this course.) If you don‘t have time to attend an instructor-lead course but need the structure of a class, this approach might work.
Finally, if you need the structure of a live course, like interacting with fellow professionals, want networking opportunities, and appreciate the convenience of a single, three to five day session followed by the exam, then perhaps an instructor-lead course is for you. Such courses are available in more than 30 countries, including all the countries covered by the ISTQB member boards plus some additional countries. In North America, major ISTQB training providers include my own company, RBCS, along with SQE, Method Park, and ALPI.
No matter what mode of preparation you choose, make sure you do prepare and prepare thoroughly. As I often say to attendees of my training courses, not everyone who doesn‘t study will fail the exam, but almost everyone who fails the exam didn‘t study.
So, you should now have a good idea of how the ISTQB certification program works, including the structure and goals of the board. You know the Foundation and Advanced syllabi, and where they fit into your particular career path. You‘re ready to pick which ISTQB certifications are right for you and start down the path of study and preparation. In short, you are ready to join the thousands of people around the world who are bringing the best ideas and concepts of testing to their day-to-day work, establishing software testing as a profession. I hope you take the next step and become an ISTQB certified tester, as I am proud to be.
Answer to the Sample Exam Question
The correct answer is B. The rule defining valid and invalid inputs creates three equivalence partitions: invalid—too low; valid; and, invalid—too high. Any integer zero or less is a member of the invalid—too low partition. Any integer from 1 to 99 is a member of the valid partition. Any integer 100 or greater is a member of the invalid—too high partition. 0 is the largest member of the invalid—too low partition and lies on the boundary with the valid partition. 1 and 99 are the smallest and largest members, respectively, of the valid partition, lying on the boundaries with the invalid—too low partition and the invalid—too high partition, respectively. 100 is the smallest member of the invalid—too high partition and lies on the boundary with the valid partition.
The article was already published in Software Testing and Performance magazine in USA.
Further articles of the testing experience magazine
ISTQB Certification Trainings
ISTQB ® Certified Tester Foundation Level – Compact Course (3 days)
ISTQB ® Certified Tester Foundation Level Extension, Agile Tester
ISTQB ® Certified Tester Advanced Level – Test Manager
ISTQB ® Certified Tester Advanced Level – Test Analyst
ISTQB ® Certified Tester Advanced Level – Technical Test Analyst