We will be conducting several exercises with debriefing sessions afterwards and small presentations focused on filling in the relevant context.
Students can expect to:
- Test a sample application
- Identify, classify and discuss data types used by variables in the application
- Determine if said variables are good candidates for either boundary analysis + equivalence class partitioning
- Generate best representative data and put that information into a classic domain testing table
- Work with other students to generate and catalog data for later use
Learning Objectives:
- What Domain Testing is
- What it is not
- How to apply it in a systematic way
Testing is a complex activity and developing competence requires mastery over many tasks and practice, practice, practice. Yet there are very few places where we get a chance to practice applying test techniques and get feedback on how we are doing. This is that place. When used appropriately, Domain Testing (an umbrella term for Boundary Analysis and Equivalence class partitioning) can increase our efficiency by helping us run less redundant, more powerful tests. How? We’re often faced with too many possibilities to test, too much data and Domain Testing helps us create a sample of the best representative data to use. In this workshop, we are going to provide an experience that helps all members of the team better understand the types of data we are using and how to craft powerful tests. We’re going to work through a number of examples while testing an application.
Through sampling we’ll find the best representative data we think will cause failures and find bugs. It doesn’t matter how much testing you do, if you do any, you can learn from this course.
So, what about the rest of the team? What if Developers are more aware of Domain Testing in order to increase the effectiveness of their Unit “Checks”? What if Business Analysts are better prepared to provide examples that include better data points from Domain Analysis? Domain Testing is a technique that the whole team can use to reduce risk in the data that the application uses.