An Advanced Technical Test Analyst can:
- Recognize and classify the typical risks associated with the performance, security, reliability, portability and maintainability of software systems.
- Create test plans which detail the planning, design and execution of tests for mitigating performance, security, reliability, portability and maintainability risks.
- Select and apply appropriate structural design techniques to ensure that tests provide an adequate level of confidence, based on code coverage and design coverage.
- Effectively participate in technical reviews with developers and software architects applying knowledge of typical mistakes made in code and architecture.
- Recognize risks in code and software architecture and create test plan elements to mitigate those risks through dynamic analysis.
- Propose improvements to the security, maintainability and testability of code by applying static analysis.
- Outline the costs and benefits to be expected from introducing particular types of test automation.
- Select appropriate tools to automate technical testing tasks.
- Understand the technical issues and concepts in applying test automation.
Chapter 1: The Technical Test Analyst’s Tasks in Risk-Based Testing
- A Technical Test Analyst should understand how to identify, assess and mitigate technical risks.
Chapter 2: Structure-Based Testing
- Structural testing techniques belong to the core competencies of the Technical Test Analyst.
- This section builds on the Foundation techniques of statement and decision coverage.
- The structure-based techniques covered are condition testing, decision/condition testing, modified condition/decision coverage (MC/DC), multiple condition testing, basis path testing and API coverage.
- In general, Technical Test Analysts should understand how to choose appropriate structural test technique(s).
Chapter 3: Analytical Techniques
- Technical Test Analysts should understand how to apply static analysis to detect potential security, maintainability and testability defects in code.
- The planning of dynamic analysis to mitigate risks in code and software architecture is covered.
Chapter 4: Quality Characteristics for Technical Testing
- A Technical Test Analyst should understand how to design high-level test cases for security, performance and reliability quality attributes and to support the Test Manager in creating test strategies to mitigate the identified risks.
- A Technical Test Analyst should understand how to include coverage of maintainability, portability and resource utilization quality attributes in a testing strategy.
Chapter 5: Reviews
- The activities of the Technical Test Analyst focus on using checklists to identify defects in code and architecture.
Chapter 6 Test Tools and Automation
- This major chapter focuses on the tools and automation issues which are relevant to Technical Test Analysts.
- Several tools are covered, including those used for web-based testing, for supporting model- based testing, for fault seeding and fault injection, for unit testing and the build process and for performance testing.
- A Technical Test Analyst should be able to recognize common technical issues that cause high failure rates in automation projects and to appreciate different automation techniques.
- Specific issues resulting from the use of open-source and custom-built tools are covered.