From the course: Software Testing Foundations: Test Techniques
What you should know
From the course: Software Testing Foundations: Test Techniques
What you should know
- Test techniques are the tools quality teams use to execute quality projects. While this course may be interesting to anyone wanting to understand how a test is executed, it's especially important to understand why each of these techniques are used. To ensure you get the most from this course, I'd suggest a few things to get started. First, you should be familiar with basic quality best practices. I will review much of the foundational tools that need to be in place to make certain good techniques work. However, having a good understanding of the overarching processes in a quality program will ensure you understand how these techniques may fit into your own program and why you may choose to use them. Next, many of the techniques I explore in this course can be accomplished with sophisticated software applications designed to accelerate the testing process. Just because there is a software tool that can do the job, it remains important to understand how each technique is executed and what each is used to accomplish. This is integral to understanding the output of the software and whether the technique is being used properly. You may not know or understand how some of the different techniques will fit in your program but understand your own role in the project. Some techniques may be part of your duties, some may be team duties, and some may fall outside your own expertise or skill set. Your role in testing defines what techniques you use, and being familiar with the principal responsibilities will help you understand whether a technique is suitable for you and your project. Another helpful tip for getting the most from this course is to be prepared to hear a lot of different terms. A lot of confusion can lie in the name used to communicate specific techniques. Don't get bogged down in what they're called, and focus on what they do. You should be prepared to evaluate each technique for its own merits in executing your test, seeing if it's appropriate for your product and test program. To illustrate these techniques and their use, I will be using a sample application. Explore California is an all-in-one travel application for the state of California. This application is designed to provide both a web-based and mobile experience for tourists visiting the state. I will be using this fictional software to demonstrate how the techniques we are exploring could be used to deliver effective results. It's also vital you have a detailed understanding of your product. As I go through each technique, you'll be thinking about how each might be effective in testing your product or if they aren't relevant. You'll be considering the value versus time proposition on each and may even think about modifying them to match what your product does and how these techniques can help you achieve your goals. Overall, the focus of this course is about learning ways to approach problems. Individually, the techniques I cover here are used industry wide. However, software development is remarkably diverse and no two products are identical. Having a core understanding of what you are trying to achieve is central to the success of any quality test. Knowing your continuing goals and testing objectives will give you a better understanding of each of these techniques. While some techniques might not be suitable for your quality goals today, you should be evaluating all of them for both the short and long-term use in your suite of tools for testing. These techniques are used to achieve specific quality goals and accelerate the time it takes to test your product. You might not need them right away, but learning each may pay off down the road when a new product enters test.