Bloggo back to the blog
What’s the latest on ISO/IEC 29119 Software Testing? by Dr. Tafline Murnane-->
The article below is taken from the August edition of the EuroSTAR newsletter, STAR Tester. It looks at the ISO/IEC 29119 Software Testing Standard and is written by prominent Australian tester, Dr. Tafline Murnane.
So you might have heard about the new ISO/IEC 29119 Software Testing standard that is currently under development? You may have even seen a presentation on it at EuroSTAR, or read about it in a previous EuroSTAR newsletter. In this article, we give you an in-depth look at this new and exciting standard, and keep you up to date on the very latest developments coming out of the working group responsible for developing the standard.
What is ISO/IEC 29119?
ISO/IEC 29119 Software Testing is a new international standard that is aimed at supporting all elements of the software testing lifecycle, throughout the development and maintenance of any software intensive system. This standard will essentially provide a body of knowledge on software testing, that has been developed by software testers, for software testers.
The standard is under development by ISO/IEC JTC1/SC7 Working Group 26, Software Testing. Eighteen different nations are represented on the working group, and more are joining each year., The national that are currently represented are Australia, Canada, China, Columbia, Denmark, Finland, France, Germany, Hong Kong, India, Japan, Poland, Russian Federation, South Africa, South Korea, Spain, United Kingdom and the USA. Thus, when it is released in 2012, ISO/IEC 29119 will be the truly international standard for software testing.
What does the standard cover?
We are pleased to announce that ISO/IEC 29119 is now comprised of five parts, as follows:
Part 1: Concepts & Definitions
Part 2: Test Process
Part 3: Test Documentation
Part 4: Test Techniques
Part 5: Software Testing Process Assessment
Stop press! If you had previously heard that the standard was comprised of four parts, you were absolutely correct! Part 5 was approved as a new work item for our working group just days ago, so keep an eye out for information on this exciting new addition to our standard!
More information on each of these parts can be found in the section below. One of the most important elements of this standard is that it prescribes a risk-based approach to testing, from risk-based test planning and the definition of risk-based test strategies, to risk-based prioritisation during test case design and execution.
There are three base standards that will be subsumed by this standard. They are IEEE 829 (a well-known test documentation standard), BS 7925-1/2 (a well-known component testing standard and vocabulary that you may have learnt about in your ISEB or ISTQB courses) and IEEE 1008 (a much lesser known unit testing standard). The following diagram illustrates the relationship between the first four parts of ISO/IEC 29119 and their relationship to the standards they will be subsuming.
What’s within the five parts of ISO/IEC 29119?
The planned contents of each of the five parts are as follows.
Part 1: Concepts and Definitions
• Introduction to testing
• Software testing within an organisational and project context
• Risk-based testing
• Test phases (i.e. unit, integration, system, acceptance) and types of testing (e.g. static, dynamic, non-functional)
• Testing within various software development lifecycle models (e.g. agile, evolutionary, sequential)
• Roles and responsibilities in testing
• Metrics and measurement
Part 2: Test Process (illustrated below)
• Organisational test process
• Test management processes
• Static testing processes
• Dynamic testing processes
Each of these processes are described using detailed text-based process, activity and task definitions, and these are supported by diagrams that illustrate each process (for example, the following diagram illustrates the activities that exist within the dynamic test process).
Part 3: Test Documentation
· Test policy
· Test strategy
· Project test plan
· Test completion report
· Dynamic Testing
· Test specification
· Test results
· Incident reports
· Test environment report
· Test status report
· Test completion report
· Static Testing
· Review Checklist
· Static Analysis Rules
· Action Item List
· Static Test Report
· Appendices, including examples of all documents
All test documents that are described in part 3 are produced directly from the test process that is defined in part 2.
Part 4: Test Techniques
• Static testing techniques
· Inspections, walkthroughs, etc.
· Dynamic testing techniques
· Black-box, white-box, etc.
· Non-functional testing techniques
· Security, performance, usability, etc.
· Test measurement approaches (e.g. coverage)
· Appendices, including examples of all techniques
Part 5: Software Testing Process Assessment (new!)
This (very recent!) addition to ISO/IEC 29119 will provide a framework for guiding organisations and individuals in the assessment of their testing process against ISO/IEC 29119-2 Test Process, which will allow them to identify if and how improvements to their processes can be made.
What’s different about this standard?
There are a number of important things missing from existing software testing standards that will be covered by ISO/IEC 29119, including:
• risk-based software testing
• organisational processes and templates (IEEE 829 only covers project test management and the dynamic testing process)
• common system testing and acceptance testing techniques, such as Use Case Testing (BS 7925 only covers unit testing)
• non-functional techniques (e.g. Security Testing, Performance Testing)
• static testing techniques such as reviews and inspections (these are not covered by any existing ISO/IEC standards)
• vocabulary for the software testing life cycle (BS 7925-1 only covers unit testing)
Who does the standard apply to?
This standard is aimed at providing guidance on software testing for any software development or maintenance project. It is aimed at supporting all industry domains, including regulated (e.g. financial, safety critical) and unregulated, all project life cycles including agile, iterative and waterfall, and all system types from information to embedded systems. Perhaps the more important questions to consider are “when wouldn’t you select and use testing techniques” or “when wouldn’t you plan your testing?”.
That being said, as testers we are well aware that this standard will require testing (i.e. trialling) on a variety of different types of projects all around the world. Trials are currently underway, and they are proving to be valuable feedback mechanisms for our team.
When will the standard be available?
Parts 1 to 4 of the standard are due for release in 2012, as shown in the timeline below. Since part 5 was approved only days ago, it will be ready for release at around 2014 to 2015 (part 5 is not shown below). However, drafts of parts 1, 2 and 3 are already available and are currently being reviewed by experts worldwide. A draft of part 4 should be ready for review by the end of this year.
Can I get involved?
If you are an expert in software testing and you wish to provide your feedback on ISO/IEC 29119 to our team (including trialling the standard in your workplace), please contact the national standards body in your country to request involvement in their software testing standardisation activities (visithttp://www.iso.org/iso/about/iso_members.htm to find out the contact details of your national standards body).
You might also like to consider joining ISO/IEC JTC1/SC7 Working Group 26, the working group responsible for developing the standard. This requires a lot of commitment, from attendance to two separate weeks of WG26 meetings per year at various locations around the world, to reviewing drafts and producing materials for the standard throughout the year. ISO do not provide funding for working group members, although some national standards bodies do provide nominal amounts of funding for attendance (contact your national standards body for more details).
Where do I go for more information?
For more information, please feel free to contact either myself ([email protected]) or the convenor of our working group, Dr. Stuart Reid ([email protected]). For all the latest news, visit the website of our standard at http://softwaretestingstandard.org.