The Non-Functional Testing course provides delegates with an introduction to the important field of specifying and testing the quality characteristics of software-intensive systems. By the end of the course delegates will be confident in their ability to apply industry best practice to support the non-functional testing on their own projects. The course covers the five main quality characteristics of performance, security, usability, dependability and supportability.
This two-day tutor-led course includes lectures, exercises and practical work, and uses a hands-on approach based on group exercises and discussions. It is highly-interactive, allowing attendees to learn from the experience of the instructor (and each other), and, owing to its interactive nature, each course is restricted to a maximum of 12 delegates.
The course provides delegates with an introduction to non-functional testing as a set of activities throughout the software lifecycle. In traditional testing these areas are often ignored, yet the non-functional attributes of a product are often those that critically affect its success – surveys of users find that these attributes are often rated more highly than the functionality.
Delegates will gain an understanding of the breadth of non-functional attributes that should be considered, and an outline of the risks for different stakeholders. It will enable attendees to work more productively with business analysts and developers by showing them how best to combine their respective strengths to ensure that quality requirements are most efficiently defined and met. It draws on a wide range of sources and is intended to help testers to leverage their skills to the mutual good of the business, testing and development.
Who is it for?
The Non-Functional Testing course is principally aimed at test practitioners who are expecting to be actively involved in the practice and/or management of any aspect of non-functional testing, and who want to ensure that they are fully aware of current best industry practice.
This includes people in roles such as system testers, test analysts, test engineers, test consultants, test managers, user acceptance testers and software developers. This course is also appropriate for non-testers who want a deeper understanding of non-functional testing, such as project managers, quality managers, software development managers and management consultants. The course has been found particularly useful by business analysts who have responsibility for specifying non-functional requirements, as it provides them with an insight into the level of detail required for testing, as well as into the difficulties of achieving and testing the different characteristics.
Each delegate will be provided with their own manual containing copies of all slides, along with supporting text, and exercise documentation. CDs containing soft copies of the delegate manual, relevant white papers and articles, and a copy of a web-based NFT course will also be provided for future reference.
There are no formal entry requirements for this course, although prior experience of working on IT projects is certainly beneficial.
The course is intended as both an introduction to the range of quality characteristics that need to be considered when developing a software-intensive system and the corresponding testing that can be performed to evaluate these characteristics.
Owing to its length, this course cannot provide an in-depth training in the practice of the testing for all forms of non-functional testing. Instead, this course provides delegates with an awareness of the variety and range of different characteristics and techniques and where they can best find the appropriate skills, when needed.
The objectives for the Certified Tester Foundation Level qualification are to:
- prepare candidates for the Foundation Certificate in Software Testing based on the ISTQB syllabus
- improve understanding of software testing - its purpose and nature - and to raise awareness of issues and constraints around testing
- learn standard terminology
- introduce test techniques (static, white & black box) to delegates as well as providing practical experience of key techniques
- provide a complete picture of the test processes from requirements review to system implementation
- provide delegates with an environment that supports their learning and impart them with the necessary confidence and means to support their future career as a test professional
Syllabus - Key points
The course will cover the following aspects of non-functional testing:
- Introduction to non-functional testing
- Performance testing (including response times, load, scalability and stress testing)
- Supportability testing (including portability, compatibility, installability and interoperability testing)
- Security testing (including threat modelling, attacks and penetration testing)
- Usability testing (including heuristic evaluation and accessibility testing)
- Dependability testing (including reliability, availability and maintainability testing)
First, the rationale for testers being involved in both the specification and the later evaluation of non-functional quality attributes of the system is explained. This leads to new levels of testability and consistency, and also ensures that the goals of testing and development are fully integrated across the project.
Second, the course provides instruction on the specification and evaluation on the wide range of non-functional quality criteria. These quality characteristics are explained within the context of the new ISO 25000 series of standards on ‘Software Quality Requirements and Evaluation’ (SQuaRE), which are replacing the ISO 9126 (Quality Metrics) and ISO 14598 (Software Evaluation) standards.