400 likes | 529 Vues
In software testing, the "Big Three" complaints are often missing requirements, excessive testing duration, and undetected bugs. These issues arise due to legacy systems, incomplete documentation, and redundant test cases. Behavioral modeling serves as an innovative approach, facilitating better communication between business and testing teams, identifying essential test cases, and ensuring comprehensive coverage of functional paths. By employing this method, organizations can streamline testing processes, reduce costs, and minimize production delays while enhancing overall software quality.
E N D
The Big Three What are the three most common complaints we hear about testing?
Problem 1 • Missing or incomplete requirements • Why? • legacy application: cannot find the old documentation • Modified application: original requirements not kept up to date. • Impact? • Difficult to maintain • Difficult to test
Solution 1 • Behavioral Modeling creates a communication vehicle between the business and test engineers. • Result: • Common understanding of the application • Reverse engineered requirements • Easier to maintain and modify
Problem 2 • Testing takes too long! • Why? • Too many test cases • Redundant tests • Impact? • Cost of testing is too high • Applications delayed into production
Solution 2 • Behavior Modeling identifies the minimum necessary number of test cases. • In case studies, the number of test cases reduced by 75 to 90% • Result: • Less testing • Less delay • Less cost
Problem 3 • Testing can miss bugs! • Why? • Test Suites are missing some functional paths or conditions • Impact? • Defects deployed to production • Costs to repair MUCH higher
Solution 3 • Behavioral Modeling identifies all the functional paths of an application. • Result: • Test suite will not miss any bugs • Fewer production problems • Less cost
Behavioral Modeling: What is it? • A graphical representation… • ...of the functional behavior… • …of the software article.
What does it buy us? • Allows the behavior to be specified at any level of detail. • Allows different people to work on different sections at the same time. • Limited “vocabulary” enforces a high level of consistency in the models. • Allows understanding (and review) by people with a wide variety of experience.
How do we do it? There are only two questions -- • What does it do? • “Do” in the active sense • What influences it?
Sample Problem 1 • Externals only • Example – Bigger: Two numbers in One number out +1 if 1st number bigger than 2nd -1 if 1st number smaller than 2nd 0 if the numbers are equal
Sample Problem 2 • FAST • The Functionally Advanced Sidewalk Teller • Deposit • Withdraw • Transfer • Check Balance
Issues? • Questions? • Comments? • Concerns? • On anything we have covered so far
Attributes of Good Test Suites • Effective • Efficient
Next Steps • Test Design Review • Test Case Design
Test Case Specification • Test Case ID • Test Items • Input • Expected Output • Environmental Needs • Special Procedural Requirements • Inter-test case Dependencies • Actual Steps…
Issues? • Questions? • Comments? • Concerns?