Fundamentals of Software Testing

Learn the fundamental techniques and approaches to software testing, better understand what to test, how to test it, and in what contexts certain practices make sense in this software testing training course.

The Benefits of Software Testing Training to Your Organization

Testing is a critical role in software development that requires special skills and knowledge that are not commonly taught to software developers, business analysts and project managers. This often results in insufficient time and resources being allocated for this important function, and quality suffers—as do the users of the software. Equally important is the need to measure quality quickly and efficiently because limitations in resources and schedules are realities that aren’t going away. We need to do the best we can with what we have and still deliver high, proven-quality software.

Fundamentals of Software Testing provides an eye-opening view into this challenging task. It provides a complete picture of the testing process, how it fits into the development life cycle, how to properly scope and prioritize testing activities, and what techniques to use for optimal results. This software testing training begins with a deep-dive into the Universal Testing Method, follows with a close look at testing phases, testing approaches, non-functional testing, and testing for different platforms. As time permits, the course finishes up with some bonus material covering an introduction to automation testing and behavior-driven development.

Real-world Hands-on Experience

Cases studies, examples, in-class exercises and reviews are used to reinforce the concepts and practices. Students gain experience in modeling the test space, establishing scope and application coverage, identifying “testing oracles”, writing test procedures and more. Students come out of the course with a wealth of new knowledge that they can begin to apply immediately.

Go Beyond Basic Functional Testing to Improve the Overall Experience for Users

In addition to hands-on experience, students gain insight into a wide variety of testing aspects that go beyond the usual requirements-based functional testing. Both positive and negative testing concepts are discussed, and effective methods for exploratory testing are provided. Testing aspects that are often overlooked are identified and best practices for addressing them are explained. Students are also given excellent references guiding them further in best practices and in selecting effective tools.

Students come away from this software testing training course with many ideas that they can apply in their own projects to improve the effectiveness and efficiency of testing efforts. They even learn the best ways to report on the testing activity; no more reporting for reporting’s sake. Practical, fast and effective testing is the focus of this course.

Case Studies, Exercises and In-Class Reviews

As the Universal Testing Method (UTM) unfolds during class, real-life case studies and examples are presented to drive home the pertinent concepts. Each one is discussed as it pertains to a step in the UTM and encourages students to think “outside the box” for each step. Students also work together in groups through key steps in the UTM using a real application accessible via the Internet. The same application is used for each exercise with each step building on the previous one. This gives students hands-on experience and new skills that they can begin working with on the job right away. For example, students will:

  • Develop a model of the application
  • Use their model to determine test coverage
  • Identify test oracles for the application
  • Create test cases based on the oracles
  • Run their tests against the live application

Each chapter is followed by a series of review questions that are discussed in class. These review questions draw on key points from each section and help students retain the concepts so they can more easily recall them later. Also included is an “introspective review” that helps students comprehend how the material applies in their own circumstances.