Introduction

This is a book on advanced software testing for technical test analysts. By that we mean that we address topics that a technical practitioner who has chosen software testing as a career should know. We focus on those skills and techniques related to test analysis, test design, test tools and automation, test execution, and test results evaluation. We take these topics in a more technical direction than in the volume for test analysts, since we focus on test design using structural techniques and details about the use of dynamic analysis to monitor the current internal state of the system, as well as how it interfaces with the OS and other external entities. We assume that you know the basic concepts of test engineering, test design, test tools, testing in the software development life cycle, and test management. You are ready to mature your level of understanding of these concepts and to apply these advanced concepts to your daily work as a test professional.

This book follows the International Software Testing Qualifications Board’s (ISTQB) Advanced Technical Test Analyst syllabus 2012, with a focus on the material and learning objectives for the advanced technical test analyst. As such, this book can help you prepare for ISTQB Advanced Level Technical Test Analyst exam. You can use this book to self-study for this exam or as part of an e-learning or instructor-led course on the topics covered in those exams. If you are taking an ISTQB-accredited Advanced Level Technical Test Analyst training course, this book is an ideal companion text for that course.

However, even if you are not interested in the ISTQB exams, you will find this book useful to prepare yourself for advanced work in software testing. If you are a test manager, test director, test analyst, technical test analyst, automation test engineer, manual test engineer, programmer, or in any other field where a sophisticated understanding of software testing is needed, especially an understanding of the particularly technical aspects of testing such as white-box testing and test automation, then this book is for you.

This book focuses on technical test analysis. It consists of seven chapters, addressing the following material:

1. The Technical Test Analyst’s Tasks in Risk-Based Testing

2. Structure-Based Testing

3. Analytical Techniques

4. Quality Characteristics for Technical Testing

5. Reviews

6. Test Tools and Automation

7. Preparing for the Exam

What should a technical test analyst be able to do? Or, to ask the question another way, what should you have learned to do—or learned to do better—by the time you finish this book?

  • Recognize and classify typical risks associated with performance, security, reliability, portability and maintainability of software systems.

  • Create test plans detailing planning, design, and execution of tests to mitigate performance, security, reliability, portability, and maintainability risks.

  • Select and apply appropriate structural design techniques so tests provide adequate levels of confidence, via code coverage and design coverage.

  • Effectively participate in technical reviews with developers and architects, applying knowledge of typical mistakes made in code and architecture.

  • Recognize risks in code and architecture and create test plan elements to mitigate those risks via dynamic analysis.

  • Propose improvements to security, maintainability, and testability of code via static analysis.

  • Outline costs and benefits expected from types of test automation.

  • Select appropriate tools to automate technical testing tasks.

  • Understand technical issues and concepts in test automation.

In this book, we focus on these main concepts. We suggest that you keep these high-level outcomes in mind as we proceed through the material in each of the following chapters.

In writing this book, we’ve kept foremost in our minds the question of how to make this material useful to you. If you are using this book to prepare for an ISTQB Advanced Level Technical Test Analyst exam, then we recommend that you read Chapter 7 first, then read the other six chapters in order. If you are using this book to expand your overall understanding of testing to an advanced and highly technical level but do not intend to take an ISTQB Advanced Level Technical Test Analyst exam, then we recommend that you read Chapters 1 through 6 only. If you are using this book as a reference, then feel free to read only those chapters that are of specific interest to you.

Each of the first six chapters is divided into sections. For the most part, we have followed the organization of the ISTQB Advanced Syllabus to the point of section divisions, but subsection and sub-subsection divisions in the syllabus might not appear. You’ll also notice that each section starts with a text box describing the learning objectives for the section. If you are curious about how to interpret those K2, K3, and K4 tags in front of each learning objective, and how learning objectives work within the ISTQB syllabus, read Chapter 7.

Software testing is in many ways similar to playing the piano, cooking a meal, or driving a car. How so? In each case, you can read books about these activities, but until you have practiced, you know very little about how to do it. So we’ve included practical, real-world exercises for the key concepts. We encourage you to practice these concepts with the exercises in the book. Then, make sure you take these concepts and apply them on your projects. You can become an advanced testing professional only by applying advanced test techniques to actual software testing.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset