The objective of this masterclass is to enable the participants “a scientific questioning ability” to rapidly understand expectations/requirements of the software to be validated.
Test manager, Project manager, Test lead, Test engineers
Good understanding of customer expectations is vital to effective testing. To test effectively and estimate correctly, a good understanding of the expectations of intended software/application is very important. The act of understanding is a high maturity skill requiring multiple skills, with domain knowledge seen as a critical enabler to good understanding. Good documentation is a key ingredient; in reality however, the available documentation of requirements/ speciﬁcations may lack the details and(or) may be out of sync with the actual software/system. The test staff are expected to come up with good questions and clarify the missing elements and understand the intended behaviors. This is easier said than done, as deep domain knowledge is typically a scarce commodity.
This masterclass takes a scientiﬁc approach to “the act of understanding the intentions or expectations” by identifying key elements in a requirement/speciﬁcation and setting up a rapid personal process powered by scientiﬁc concepts to ensure that we quickly understand the intentions and identify the missing information.
Understanding is a non-linear activity, the various elements in requirements need to be connected well. In the process of connecting the various dots, missing information identiﬁed, leading to intelligent questions. Good testing is about asking intelligent questions leading to deeper understanding.
Expectation when stated clearly becomes a requirement. The challenge is that expectations are in the mind, and we are not mind-readers. A good requirement needs to be complete, consistent, clear, implementable and testable.A scientific and systematic approach to questioning can enable unstated expectations to surface and ensure that we indeed understand the exact needs.
Hypothesis Based Methodology (HBT) is used to understand expectations in a scientific manner. HBT is a six-stage test methodology with the ﬁrst two stages focused on “Understanding expectations” and “Understanding context”. The ﬁrst stage “Understanding expectations” focuses on outward aspects commencing from what business problem the software is attempting to solve, the target marketplace and deployment environment, the technologies used, the various types of end users and their business requirements and volumes of end users for each type of end user. The second stage “Understand context” focuses inward commencing with identifying the technical features, their dependencies and interactions, usage proﬁle, attributes required of them , understanding business risk and prioritizing them, ensuring that they are testable and ﬁnally identifying the cleanliness criteria.
These two stages of HBT is powered by the “Business Value Understanding”. This discipline consist of about ten steps with seven scientific concepts to enable that the various aspects to understand the expectations can indeed be done in a scientific manner.
The process of application of this discipline enables the participant to discover gaps, identify intelligent questions rapidly and thus enable a clear understanding of the expectation.
- Needs, expectations and requirements : Understanding business value of requirements
- Customers, End users, Engineers: Degree of detailed information needed
- Wish, Need, Issue: Understanding the maturity of requirements and its volatility
- Birth, Growth, Death : Evolution of requirements
- Implementing vs. Suggesting : Dealing with unclear customers
- Probing the mind : The “Science” of Questioning
- Understanding the various elements of a expectation/requirement and their inter-relationship
- Sources of information to aid understanding
- Creating the big picture to get a good overall view by using Landscaping, a technique derived from mind mapping
- Deployment environment, Architecture and their role in effective testing
- Identifying the various types of end users and identifying the number of users for each type
- Identifying technical requirements for business requirements
- Critical success factors – Identifying critical attributes and ensuring that they are testable
- Understanding the usage patterns/operational proﬁle
- Understanding business risks and prioritization
- Formulating cleanliness criteria
- How to understand intended behaviors for designing test scenarios/cases