Specifications in Software Testing Methodologies

General
Don't Care and Impossible Terms
Finding and Translating the Logic
Ambiguities and Contradictions

General
If the specification is not logically consistent and complete, there is no use in getting into design and implementation
Until an automated specification system is developed, much of the specification analysis can be done using KV chart, paper and pencil
The following is the procedure for validation of specifications
Rewrite the specification using consistent terminology
Identify and name the predicates with suitable letters such as A, B, C
Rewrite the specification in English that uses only the logical connectives AND, OR and NOT
Convert a rewritten specification into equivalent boolean expressions
Identify all the specified default actions and cases
Enter the boolean expressions in to KV chart and check for consistency. Check for overlaps
Enter the default cases and check for consistent
If all the boxes of KV charts are covered, then the specification is considered as complete
If the specification is incomplete or inconsistent, translate the corresponding boxes of KV chart back in to english and clarify or revise them
If the default cases were not explicitly specified, translate the default cases back to English and confirm with the specifications
Don't Care and Impossible Terms
Impossible cases can be used to simplify logic and further to simplify programs implementing that logic
The external world can also contain some "impossible" and "mutually exclusive" cases such as blind editors, consistent specification, honest politicians etc.
Identify all such "impossible and Illogical" cases and confirm them 
Document the fact that you have taken advantage of 
Fill out the KV chart with possible cases and then fill in the impossible cases
Use the combined symbol ¢ which can later be interpreted as 0 or 1 depending on the logic simplicity
These terms are called don't care terms as the case is presumed impossible and we don't care what value is used in the place
Finding and Translating the Logic
This is the most difficult part of the job as it takes intelligence to understand the intentions that are hidden by ambiguities in English and also usage or poor english
The specifications are cast into sentences of the form "IF predicate THEN action". The predicates are written using the AND, OR and NOT
So, finding the terms IF, THEN, AND OR and NOT is very important
Unfortunately, we have to deal with the real world specifications and specification writers lacking clarity
The following are some of the sample phrases that have been used for the words
IF-if, if and when, if only, provided that, when, whenever, based on, because, but, etc.
THEN- applies to, consequently, do, implies that, means that, should, then, will, would, etc.
AND- and, as well as, both, but, in conjunction with, consisting of, including, together with, total, with, etc.
OR- ans, and if... then, and/or, alternatively, anyone of, as well as, but, either, either... or, except if, conversely, furthermore, in addition to, nor, not only.. but, otherwise, or or else, etc.
NOT-but, but not, besides, contrast, except if, excluding, excepting, less, neither, never, no, not, other than, etc.
EXCLUSIVE OR- but, by contrast, nor, on the other hand, other than, or, etc.
IMMATERIAL- independent of, irrespective, irrelevant, regardless, but not if, etc.
Ambiguities and Contradictions
Ambiguities and Contradictions can be identified when we map the specifications onto a KV chart
If no explicit default action is specified, then fill out the KV chart with explicit entries for the explicitly defined action, negate the entire KV chart and then present the equivalent expression as a statement of the default
Be suspicious about all complete group of adjacencies
Most of the contradictions are not due to not understanding the equivalence but due to predicate that is not explicitly stated

Share on Google Plus

About Data Sciences by Venu

Hi, My name is Venugopala Chary and I'm Currently working as Associate Professor in Reputed Engineerng College, Hyderabad. I have B.Tech and M.tech in regular from JNTU Hyderabad. I have 11 Years of Teaching Experience for both B.Tech and M.Tech Courses.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment