The software industry is all about standards, we have ISO standards, IEEE standards etc. Adding to the list, we now have a new ISO standard exclusively for software testing, which is the ISO/IEC/IEEE 29119. As per IEEE standards association, these new software testing standards can be used within a software development life cycle (SDLC) or in any organization involved in software development and testing. Implementing these software testing standards would not only help organizations to adhere to the only internationally recognized and agreed standards for software testing, but also provide them with a high quality approach towards quality assurance.
The ISO/IEC/IEEE 29119 software testing standards have been introduced and developed by a group known as “Working Group 26” in May 2007. Let’s find out what these software testing standards are all about and understand them better.
New Software Testing Standards
The ISO/IEC/IEEE 29119 has an inherent series of standards 29119-1, 29119-2, 29119-3, 29119-4, 29119-5. The first three standards have been published, 29119-4 is going to be published by the end of year 2014 and standard 5 (29119-5) is likely to be rolled out in 2015. So, what does each of these standards signify? Let’s analyze the essential attributes of these standards.
The ISO/IEC/IEEE 29119-1 standard talks about concept and definition, which is considered as a base to understand and adopt other software testing standards under the ISO/IEC/IEEE 29119 series. The 29119-1 software testing standard is highly informative and provides definitions and descriptions of the concepts of software testing and different ways to apply processes, documents and techniques. The 29119-1 can be considered as the foundation of IEEE software testing standards.
ISO/IEC/IEEE 29119-2 standard defines a generic process model for software testing, which can be used in any software development life cycle (SDLC). The role of a software testing process is to govern, manage and implement software testing in any organization, project, or software testing activity. The IEEE 29119-2 software testing standard lays emphasis on mitigation of risks, and hence follows a risk-based approach towards software testing. The implementation of 29119-2 standard allows software testing to be prioritized and focused on the most important features and quality attributes of each system under test.
The ISO/IEC/IEEE 29119-3 software testing standard lays stress on documentation and provides standardized templates to cover the entire software test life cycle. Each template prescribed in 29119-3 standard can be tailored based on an organization’s unique requirements. This software testing standard will supersede the IEEE 829 standard.
The ISO/IEC/IEEE 29119-4 is part four of the software testing standards and primarily covers software test design techniques for organizations and SDLC models. The 29119-4 standard will supersede the BS-7925, which is a basis for the creation of this standard.
ISO/IEC/IEEE 29119-5, which is considered as part 5 of the software testing standards. The 29119-5 standard defines an international standard for supporting keyword driven testing. As this standard is yet to be published, I would like to touch upon the highlights of this new software testing standard.
Along with the above mentioned ISO/IEC/IEEE 29119 software testing standards, there is an addendum to part 2, which is the ISO/IEC 33063 – Process Assessment Model for software testing. This process model contains a set of indicators to be considered while interpreting the intent of a process reference model. The process reference model 29119-2 forms the basis for the 33063 process assessment model for software testing.
With the introduction of ISO/IEC/IEEE 29119 standards, some of the existing standards will be replaced. Here’s a list for your reference.
- IEEE 829 Test Documentation
- IEEE 1008 Unit Testing
- BS 7925-1 Vocabulary of Terms in Software Testing
- BS 7935-2 Software Component Testing Standard (will be replaced)
A distinctly visible feature of the new software testing standards is that these would require extensive documentation, in contrast to the current agile practice, which stresses minimizing documentation. Standardization in a way can be beneficial, keeping in view the current globalization trends, onshore and offshore working models, some industry analysts feel that there is a greater need for standardization.
Software Testing Community
Iain McCowatt, one of the presidents of the International Society of Software Testing and the author of the petition to stop ISO 29119 software testing standards, states that “There is a need for testers who are dedicated to improving their skills and inventing new ways of testing.” According to McCowatt, software testing is still at its nascent stage and it is too early to impose any software standards on it. And according to Jon Hagar, author of the popular book “Software Test Attacks to Break Mobile and Embedded Devices”, the software testing standards are not meant for individual software testers, but for organizations. He believes there must be a starting point for any evolution.
Most of the software testing community is in a dilemma to accept or denounce the new software testing standards, which are going to be recommended by the International Organization for Standardization (ISO) and there are numerous discussions happening on this topic among software testing professionals. As far as my opinion goes, I strongly feel that current ISO standards have few glaring gaps and adopting a new set of standards in any area of software development is noteworthy and especially when these new software testing standards will encourage the independent testing practices and help software testers and the software testing community as a whole.