
Automated Database Applications Testing : Specification Representation for Automated Reasoning.
Title:
Automated Database Applications Testing : Specification Representation for Automated Reasoning.
Author:
Mikhail, Rana Farid.
ISBN:
9789812837295
Personal Author:
Physical Description:
1 online resource (212 pages)
Series:
Series in Machine Perception and Artificial Intelligence
Contents:
Contents -- Preface -- Acknowledgments -- 1. Introduction -- 1.1 The Need for Testing . -- 1.2 Why Does Software have Errors? -- 1.3 Software Testing De nitions -- 1.3.1 Software Errors, Faults and Failures -- 1.3.2 Software Testing -- 1.4 When Should Testing Start in the Software Lifecycle? -- 1.5 Types of Testing Techniques -- 1.6 UML -- 1.7 Formal Specification Languages -- 1.8 Current Testing Technologies and Tools -- 1.8.1 Types of Automated Testing Tools -- 1.8.2 Design and Visual Modeling Tools -- 1.8.2.1 Rational Rose -- 1.8.2.2 Oracle Designer -- 1.8.3 Automated Testing Tools -- 1.8.4 Disadvantage of Record and Playback Test Au- tomation Tools . -- 1.9 Related Literature -- 1.9.1 AGENDA: A Test Generator for Database Appli- cations -- 1.9.2 Executable Software Specifications -- 1.10 Objectives of this Book -- 2. SpecDB: A Database Design for Software Speci cations -- 2.1 Introduction -- 2.2 The Advantages of a Database Representation of Specifications -- 2.3 The Specification Database Design: SpecDB -- 2.4 Entities for Specific Software Requirements -- 2.4.1 Operator and Valid Operands -- 2.4.2 List of Tables and Table Descriptions -- 2.4.3 Types, Types LOV and Type Restrictions -- 2.4.3.1 List of Valid Values (LOV) -- 2.4.3.2 Other Restrictions -- 2.4.4 Variables and Restrictions on Variable Values -- 2.4.5 Procedure, Function, and Subroutine Descriptions -- 2.4.6 Subroutine Parameters and Post-Conditions -- 2.4.7 Dataow, Triggers and Input/Output Definitions -- 2.4.8 Assignment and Calculation -- 2.4.9 Predicate -- 2.4.10 Database Operations -- 2.4.11 Classes, Objects and Class Relations -- 2.5 Conclusion -- 2.5.1 Other SpecDB Entities -- 3. Representing Formal Specifications in SpecDB: A Trans- lation Algorithm -- 3.1 A Translation Algorithm from Formal Speci cations to SpecDB -- 3.2 Assumptions and Restrictions.
3.3 Preparing for Translation -- 3.4 Storing Formal Specifications -- 3.4.1 Defining Schema Names and Operations -- 3.4.2 Types of Schemas -- 3.4.3 User-Defined Types -- 3.4.4 Specifying Values for a User-Defined Type -- 3.4.5 Defining Sets or Tables -- 3.4.6 Function Declaration -- 3.4.7 Subroutine Input Restriction -- 3.4.8 Variable Definition and Subroutine Inputs -- 3.4.9 Output Definition -- 3.4.10 Setting Variable Restrictions -- 3.4.11 Assignment Operation -- 3.4.12 Assignment Operation and Function Call -- 3.4.13 Assignment Operation for Sets -- 3.4.14 Assignment Operation for a Set -- 3.4.15 Inserting Records in the Database -- 3.4.16 Output Table De nition -- 3.4.17 Assigning a Variable to a Calculation -- 3.4.18 Constraining the Values Populating a Table or Set -- 3.5 Conclusion -- 4. An Automated Constraint Generator -- 4.1 The Design of Additional Tables in SpecDB -- 4.1.1 Using List of Tables and Table Description -- 4.1.2 Adding the Constraints Table to SpecDB and Us- ing the Predicate Table -- 4.1.3 Other Tables from SpecDB, Type Excluded Ranges and Types LOV -- 4.1.3.1 Representing List of Values (LOV) Restrictions -- 4.1.3.2 Representing Other Field Restrictions -- 4.2 Generating Database-Level Constraints -- 4.2.1 Generating Simple Static Constraints: The Algo- rithm -- 4.2.2 Enforcing Complex Dynamic Business Rules -- 4.2.2.1 Complex Business Rules Generation Algorithm -- 4.3 Conclusion -- 5. A Reverse Engineering Testing Tool -- 5.1 Technique -- 5.1.1 Input and Pre-Condition Classification and Cate- gorization -- 5.1.1.1 Examples of Inputs from the Database Displayed by the RE Testing Tool -- 5.1.1.2 Examples of Inputs from the GUI Displayed by the RE Testing Tool -- 5.1.2 Output and Post-Condition Classi cation and Categorization -- 5.1.2.1 Examples of Outputs Displayed by the RE Testing Tool -- 5.2 Case Study.
5.2.1 Problem Statement for the Vacation Salesman Commission Program -- 5.2.2 Implementation -- 5.2.3 Program Graph for the Salesman Commission Problem -- 5.2.4 DD-Path Graph for the Salesman Commission Problem -- 5.3 Examples -- 5.3.1 Test Case 1 -- 5.3.1.1 Scenario -- 5.3.1.2 Expected Output -- 5.3.1.3 Expected GUI Output -- 5.3.1.4 The RE Tool Display of the Inputs for Test Case 1 -- 5.3.1.5 Process and Actual Output -- 5.3.1.6 Comparing Expected to Actual Output -- 5.3.2 Test Case 2 . -- 5.3.2.1 Process and Actual Output -- 5.3.3 Test Case 3 -- 5.4 Conclusion -- 6. Enhancing Other Testing Tools Using SpecDB -- 6.1 Using the SpecDB Database to Expand the Testing Domain -- 6.2 Enhancing State Validation Tools -- 6.3 Expanding the Testing Scope Beyond Variables and Database States -- 6.4 Testing Different Operation Types -- 6.5 Conclusion -- 7. Conclusion and Future Work -- 7.1 A Comparison Between Testing Tools -- 7.1.1 Test Cases and Scenarios -- 7.1.1.1 Test Case 1 -- 7.1.1.2 Test Case 2 -- 7.1.1.3 Test Case 3 -- 7.1.1.4 Test Case 4 -- 7.1.1.5 Test Case 5 -- 7.1.1.6 Test Case 6 -- 7.1.2 Comparing the Ability of Testing Tools to Identify Errors -- 7.2 Book Concepts at a Glance -- 7.3 Conclusion and Recommendations -- 7.4 Future Work at a Glance -- Appendix A SQL Scripts for SpecDB Constraints -- Appendix B PL/SQL Constraint Generator Code -- Bibliography -- Index.
Abstract:
This book introduces SpecDB, an intelligent database created to represent and host software specifications in a machine-readable format, based on the principles of artificial intelligence and unit testing database operations. SpecDB is demonstrated via two automated intelligent tools. The first automatically generates database constraints from a rule-base in SpecDB. The second is a reverse engineering tool that logs the actual execution of the program from the code.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Electronic Access:
Click to View