Testing is a critical role in software development that requires special
skills and knowledge 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-quality, proven software.
This course provides an
eye-opening view into this challenging task. You will get a complete picture of
the testing process, how it fits into the development life cycle, how to
properly scope and prioritize testing activities, and which techniques to use
for optimal results. This software-testing training begins with a deep-dive into
the Universal Testing Method and follows with a close look at testing phases,
testing approaches, non-functional testing, and testing for different platforms.
As time permits, you will cover bonus material that includes an introduction to
automation testing and behavior-driven development.
Cases studies, examples,
in-class exercises and reviews are used to reinforce the concepts and practices.
You will gain experience in modeling the test space, establishing scope and
application coverage, identifying "testing oracles", writing test procedures,
and more. You will leave the course with a wealth of new knowledge you can begin
to apply immediately.
Go Beyond Basic Functional Testing to Improve the
Overall Experience for Users
In addition to hands-on experience, you will
gain insight into a wide variety of testing aspects that go beyond the usual
requirements-based functional testing. You will learn about positive and
negative testing concepts and effective methods for exploratory testing. You
will discover testing aspects that are often overlooked and best practices for
addressing them, and you will be given excellent references to guide you further
in best practices and selecting effective tools.
You will come away from this
software testing training course with many ideas that you can apply in your own
projects to improve the effectiveness and efficiency of testing efforts. You
will learn the best ways to report on the testing activity, with practical, fast
and effective testing as 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 will help drive home the pertinent
concepts. Each one is discussed as it pertains to a step in the UTM and
encourages you to think "outside the box.". You will also work 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, to provide hands-on experience and new skills you can begin
working with on the job right away. For example, you will:
- Develop a model of the application
- Use your model to determine test coverage
- Identify test oracles for the application
- Create test cases based on the oracles
- Run your tests against the live application
Each chapter is followed by
a series of review questions that you will discuss in class. The review
questions draw on key points from each section and help you retain the concepts.
Also included is an "introspective review" that helps you comprehend how the
material applies in your own circumstances.