Home

CAUSE-EFFECT GRAPHING USER GUIDE

image

Contents

1. B C E Graph3 Bob Hike ceg R Exercise 4 8 ceg R temp te My Recent B Chapter 5 Req Eagles 2 ceg B Exercise 4 Harry Party 1 ceg 8 Torder Documents R Chapter 5 Req Eagles 3 ceg B Exercise 4 Harry Party 2 ceg B Torders R Chapter 5 Req Eagles ceg B Exercise 4 Harry Party 2 Tom ceg B T Orde R Check OD2 ceg B Exercise 4 Harry Party 3 ceg B XOR 1 R Check OD 2 ceg B Exercise 4 Harry Party 3 Jane ceg B Hike ceg BjExercise 4 2 1 ceg B NAI 1 ceg R Exercise 4 2 2 ceg B Negate Vector 2 ceg Blexercise 4 4 2 ceg B Obex ceg R Exercise 4 5 1 ceg B Simple 1 ceg B Exercise 4 5 2 ceg B Take Order1 ceg lt File name Check 0D ceg sa My Network Files of type Cause Effect Graphs ceg X Cancel Places l Open as read only Import CEG File Double click on the ceg file or select it and hit Open The graph will be imported into the new graph you just set up Any graph created using the Visio front end can imported as is RBT is fully backwards compatible with those versions For those importing from ceg files created using the text interface there are some restrictions RBT will not import comments subgraphs or tests The tests can be brought in separately via the test management facilities which will be covered later Also RBT cannot import relation statements with implicit nodes For example A B or C and D or E In this statement the B or C construct and the D o
2. The specified nodes are all inclusive meaning that at least one of the nodes in the set must be in the specified state in each test ONE NOT node NOT node NOT node The specified nodes are both mutually exclusive and all inclusive meaning that one and only one of the nodes in the set must be in the specified state in each test ANCHOR NOT node NOT node NOT node 116 BenderRBT Cause Effect Graphing Users Guide If any of the specified nodes are a primary cause node within the context of the current graph file then those primary cause nodes will be held to the specified state in each test If any of the specified nodes are not primary causes as may be the case when a graph has been included as a subgraph within another graph file then the declared Anchored states of the non primary cause nodes will be ignored The parts of the Constraint statements are node Each node is identified by its node name which may or may not be preceded by a NOT connective If the NOT is present then the node state is false in the constraint If the NOT is omitted then the node state is true in the constraint The true and false states of any one node may not both be specified in any one or more Constraint statements as the two states are mutually exclusive All node names used in Constraint statements must also be referenced in Relations statements and defined using a Nodes statement BenderRBT issues a Se
3. Unlike TestDirector you do not need to tell RBT where TestExplorer is located Each desktop installation of TestExplorer has a configuration file in the system directory that contains the path to the root drive where all projects reside By default the database is on the local drive but it can reside on any network shared drive in team environments it likely would However the configuration file lives on the local desktop so each desktop knows where its database is Consequently different teams can have different databases as well The dll is registered on the computer where RBT is located and finds this configuration file which tells RBT where the actual database is This configuration file is created when TestExplorer is installed The implication is that for the integration to work TestExplorer has to be installed and properly configured on the desktop The dll does in fact validate this So Tester 1 with TestExplorer on his desktop and RBT can just ask Tester 2 who only has RBT on his desktop to dump test cases into TestExplorer Tester 2 s RBT would simply inform him that TestExplorer was not installed RBT and Test Explorer are using COM to communicate When Test Explorer is installed the COM server is registered with Windows and after that Windows knows where to find it Selecting Utilities gt Export to TestExplorer brings up the following dialog Export Test Cases to TestExplorer Export BenderRBT Script Test Cases to Te
4. Tests in TestExplorer TT BenderRBT Cause Effect Graphing Users Guide 8 CaliberRM Integration Borland s CaliberRM is a collaborative Internet based requirements management system that facilitates more effective requirement definition and management throughout the development cycle Providing a centralized requirement repository and automatic change notification CaliberRM enables better collaboration and communication among project teams assisting them in identifying and eliminating requirement errors earlier in the application lifecycle CaliberRM also allows team members to compare project baselines to easily manage scope creep and identify other factors which may affect schedules and budgets CaliberRM s support for reusable requirements ensures that project teams can build from previous experience and applications enabling more rapid development and better use of resources With CaliberRM organizations can instill discipline in their development cycle through a structured requirements management process minimizing the cost of reworks due to requirement errors focusing team members on the project scope and decreasing the likelihood of project failures and overruns The basic CaliberRM environment centers on the use of CaliberRM and Framework Administrator servers running on a Windows 2000 2003 or XP server or workstation Users then may access the repository details from their local or remotely connected workstation This envi
5. 64 Node specification duplicated in lt statement gt The state of one or more causes is specified multiple times in the Tests definition statement 66 Comma missing in lt statement gt A comma is required as a delimiter between each pair of node names in the Tests statement S 70 Invalid file specification lt statement gt The first symbol in the Subgraphs statement is a reserved name or symbol S71 Non existent SUBGRAPH file lt statement gt The file specification in the Subgraphs statement points to a nonexistent file S72 Extraneous information in lt statement gt A symbol having no significance appears ahead of the period in the Subgraphs statement 73 Inconsistent duplicate subgraph pointer in lt statement gt This reference in a Subgraphs statement is inconsistent with a preceding reference to the same subgraph the two pointers convey different active or passive attributes to the subgraph S74 Omit CEG in Subgraphs statement lt statement gt Inclusion of the CEG file name suffix is neither required nor allowed as the period in the file name will potentially confuse the cause effect graph parser S 90 Case sensitivity setting was changed A change has been made to the Case sensitivity setting and cannot be accepted by the Revise Descriptions processor Refer to the discussion of acceptable versus unacceptable changes in the Revise Descriptions section in Chapter 4 Change the Case se
6. Fewer Tests Dialog This feature allows you to enter in a number less than or equal to the number of total tests and have RBT determine which is the optimal subset of tests i e which tests would give you the greatest possible coverage The overall coverage feature is primarily used to measure and report test status As a tester I love being able to tell Management quantitatively the status of testing We take these numbers for each function and put them on spreadsheets We can then calculate the overall coverage for the system If Management wants to deploy the application prematurely we ask them to sign these spreadsheets so we have a record of the status at the time of deployment If we said something was tested and defects are found in 12 BenderRBT Cause Effect Graphing Users Guide production in that area then that is our problem However if we made it clear that something was not yet finished testing and defects are later found then that is Management s problem The Fewer Tests feature is used for two purposes First if Management is not giving you enough time to build and run all of the necessary tests you can use this feature to select the best set of tests possible within the constraints you have been given In the above example if there is only time for creating three of the seven tests then we should choose tests 2 3 and 5 We can also take this information to Management and explain ahead of time what the best we wi
7. lt statement gt Explanation The second symbol in a relations statement is not a colon dash S44 Right parenthesis missing in lt statement gt The right parenthesis expected at the end of a cause construct is missing in a relations statement 89 BenderRBT Cause Effect Graphing Users Guide 45 Cause name missing invalid in lt statement gt A cause name referenced in a relations statement has not been defined using a nodes statement or is otherwise invalid S 46 Effect name missing invalid in lt statement gt A valid defined effect name is missing in the Relations statement S47 Circular reference to lt nodename gt Effect within Relation lt statement gt The effect name in the statement is repeated as a not cause name in the same Relations statement 48 Use parentheses to clarify multiple operators in Relations statement for lt statement gt Multiple or different logical operators AND OR NAND NOR XOR XNOR have been used within the same Relations statement and no parentheses are specified to clarify the logical intent of the relationship There is NO operator precedence supported within the cause effect graphing language In order to be totally unambiguous parentheses must be inserted at the appropriate points in order to clarify the precedence of causes and their logical operators 49 Superfluous parentheses used in Relations statement for lt nodename gt One or more pairs of unne
8. then simply redefine the node name by placing a new node definition statement after the Subgraphs reference to the Data Dictionary s file name In effect the last definition encountered in the graph file for a node name is the definition that BenderRBT uses A Warning message is placed in the Graph Entry error listing for audit trail and verification purposes The number of node name definitions retained in a Data Dictionary file is limited only by the amount of hard disk space available to store the file See Chapter 7 System Limits to determine the maximum number of node names which may be referenced using Relations statements in any one graph file Constraint statements should not be included in a Data Dictionary subgraph as it is highly unlikely that all of the nodes specified in the constraint are referenced in Relations statements in the main graph file It is suggested that applicable constraints be included as Comment statements in the Data Dictionary as reminders of their applicability when the node name definitions are utilized by the main graph file In short any node name referenced in a Constraint statement and not referenced in a Relations statement causes a Severe error message to be generated and further processing terminated 11 5 Constraints Statements The constraint statements specify boundary conditions of the graph which directly or indirectly limit the combinations of cause states that can be invoked 115
9. 102 BenderRBT Cause Effect Graphing Users Guide T12 lt Note gt TRUE FALSE state of lt nodename gt not in any test case Either TRUE or FALSE is indicated in the message BenderRBT was unable to specify the true or false state of this variation s effect in any test case either through test case synthesis or through node state extrapolation This is a probable although not positive indication of a logic error in the input graph specification Review the input graph specifications and the output test cases created for completeness accuracy and reasonableness Review especially any multiple constraints affecting any cause nodes which precede this effect If necessary modify the input graph statements as required and reprocess this graph file T13 lt Note gt TRUE FALSE state of lt nodename gt in a test case but not fully sensitized Either TRUE or FALSE is indicated in the message BenderRBT was able to extrapolate the true or false effect state of the functional variation but was unable to fully sensitize the effect state in any of the test cases created This condition occurs due to observability issues or a combination of node states being synthesized that does not match any of the functional variations defined Examine the test cases generated If it is necessary to ensure that this functional variation is included in the test suite then it will be necessary to either declare or force the observability of one or more
10. BenderRBT includes two test design engines If you double click on the BenderRBT icon l B BenderRBT RBT Icon you will be presented with a choice OK Cause Effect Graphing Quick Design Cancel Help RBT Test Design Engine Options of Cause Effect Graphing or Quick Design Quick Design takes you to the main screen of the pairs wised based test design engine To enter Cause Effect Graphing select it and hit OK This will take you to the graphing component The Cause Effect Graphing component is actually composed of two components RBTg and RBT RBTg is the graphic front end You draw your graphs in this component RBTg was developed for us by Software Prototype Technologies Inc SPT RBTg then translates the graphic model into the API format used by the RBT test case design engine Before the graphic front end either the current one or the earlier Visio based one the input to the earliest versions of RBT then called SoftTest and later Caliber RBT was via a character interface based on Prolog syntax This interface still exists In addition to RBTg it also can be used by other tools to directly generate the graph input from a requirement without a person having to draw the graph For example we are currently working with Unisys to create a link between their Rules Modeler RM product and RBT An analyst would define the requirements in RM RM would then export selected information to RBT via the API to generate th
11. Check Overdraft Protection Cause states The customer is a Business Client The customer has a checking account The customer has 100 000 or more in their checking account The customer does not have overdraft protection on the checking account The customer has had less than five overdrafts in the last 12 months Effect states Give the customer free overdraft protection MIL STD 498 Report 59 BenderRBT Cause Effect Graphing Users Guide 5 15 Format Preferences RBT allows you some flexibility as to what to display in both the Script and Batch form of the test cases Selecting Reports gt Format Preferences will bring up the following dialog Script amp Batch Report Format Preferences Format the Test Cases using these Preferences Script Test Cases F Show Node Names Show Only Observable Nodes Descriptions Cancel Batch Test Cases l Show Node Names Show Only Observable Nodes Descriptions Help Format Preferences Showing the node names in the test descriptions can help you debug a graph It makes it easier to go back and forth between the tests and the graph For example turning on the Show Node Names option would result in the following TEST 1 Check Overdraft Protection Cause states Bus Client The customer is a Business Client Checking The customer has a checking account Big Money The customer has 100 000 or more in their checking account not OD Protection The customer does not ha
12. WHAT E Constraints BC The following is a sample image of the CaliberRM application fj CaliberRM admin Maintain Contact List f _ tracesto tagio Status projectjFie Path Search for a Contact USER275 Address Book mailt ceg Caliber RBT File status unavai C RBT Tests RBT Examples 3 SearchContact ceg Caliber RBT File status unavai C RBT Tests CaliberRM 79 BenderRBT Cause Effect Graphing Users Guide CaliberRM Traces Command To display requirements that trace to an open ceg file 1 Open a ceg file in BenderRBT 2 Select CaliberRM gt CaliberRM Traces from the menu or click the Green CaliberRM Traces button on the toolbar CaliberRM Window Help Start CaliberRM D h CaliberRM Traces 3 for security purposes BenderRBT activates a CaliberRM Login Dialog to verify your identity x Caliber AM Server Aldebaran Caliber RM User Name fated Caliber RM User Password e Connect to Caliber RM Cancel Help Enter the name of the server your user name and your password Click Connect to Caliber RM 4 BenderRBT initiates an inquiry to CaliberRM asking for the return of any and all references to the currently open input cause effect graph file Further BenderRBT processing is suspended while this transaction is processed by CaliberRM Depending upon the current load on the network and the speed of the network server this request may take a few sec
13. specified actions in a command queue file having a file name suffix of QUE If this is a new command queue file then a Save As dialog box is presented so you may specify the name and desired location of the file SAVE the Queue As Button The SAVE the Queue As button is only active when both of the following conditions exist one or more files appear in the list of file names to be processed and the Run and or Print Action boxes are selected The SAVE the Queue As button may be pressed to create a new copy of the current command queue file A Save As dialog box is presented so you may specify the name and desired location of the file DONE Button Selecting the DONE button closes the command queue dialog box when you are finished working on the Command Queue If modifications have been made to the Command Queue and not saved you are prompted to save the changes To change from one command queue to another you must first close the current command queue and then open another using the File gt Command Queue menu selection 129 BenderRBT Cause Effect Graphing Users Guide Glossary of Terms antecedent black box view cause cause construct cause state cause effect graph compound relationship connective consequent constraint effect effect state explicit node The subject node in a Mask or Requires constraint A view of the system where the interface definition is physical e g screens files but y
14. that it is not currently being processed by another application Restart the Design Tests process to re attempt access to the file 03 Circular logic involving node lt nodename gt Cause effect graphs can express only combinatorial relationships no node can be related directly or indirectly to itself Also constraints cannot link causes to related effects 04 Unexpected error during CLOSE of input lt fileSpec gt During the termination of the phase that parses the cause effect graph file some abnormal error condition was encountered You should check the disk drive directory path and file name specified Ensure that the device and path do in fact exist and that the file name is not currently being processed by another application Restart the Design Tests or Check Syntax or Revise Descriptions process to re attempt to parse the file 05 Unable to open input cause effect graph file lt fileSpec gt The named cause effect graph file cannot be opened for processing You should check the disk drive directory path and file name specified Ensure that the file does in fact exist and that it is not currently being processed by another application Restart the Design Tests process to re attempt access to the file S 06 Unexpected error during CLOSE of input lt fileSpec gt During the termination of the phase which parses the cause effect graph file some abnormal error condition was encountered You should check the
15. Cream NOR Changed to Nots With AND Cause states The one scoop product is available The two scoop product is available The two scoop sundae is available The B4 button is pushed The three scoop sundae is not available The reset button is hit Effect states Option not available message displayed Set the information message area to blank Batch Case Definition Report 49 BenderRBT Cause Effect Graphing Users Guide 5 6 Coverage Matrix The functional variation coverage achieved by each test is analyzed and presented in the test case versus functional variation Coverage Matrix The variations and tests are identified by their assigned numbers and test names An X in an intersecting row and column on the matrix indicates the validation of the functional variation within the named test case A pound sign in an intersecting row and column on the matrix indicates that this is the only test case within the suite of test cases defined in which the functional variation occurs A R z TUETETITI TTT y EJEJEJEJEJEJE SIS S STSISIS o TETPTETL TTT N HIHHH HHH 1 2 3 4 5 6 7 1 T BERBER RE 3 PInteasible 4 Lit TT EE 5 j T BO 7 el Se BEE 9 BRRELRE 10 I te re EEE re Be 13 Jz Jz z TE ee ee Oe ae BO LT lL 18 z Jz 19 et z e a LLL Unique Vars Total Vars slsl4lel5l6l6 Coverage Matrix 50 BenderRBT Cause Effect Graphing Users Guide Functional variations that are listed in this report b
16. Few ODs The customer has had less than five overdrafts in the last 12 months The customer has Ir 1b Give OD Give the customer free overdraft protection Do not give the customer free overdraft r CONSTRAINTS MASE not Checking Few ODs OD Protection Big Money EXCL Preferred Client Bus Client RELATIONS I1 Bus Client or Preferred Client Give OD Checking and Big Money and not OD Protection and Few ODs and Ii Cause Effect Graph Report 5 2 Graph Errors Report The cause effect graph file is parsed during the initial processing phase of designing tests Any errors detected are listed in the Graph Errors report Any errors which are not significant enough to necessitate correction and subsequent run processing or other possible anomalies that the software may note are reported as Warning messages and identified with a code starting with the letter W Any errors which will require some corrective action before further processing may continue are reported as Severe errors and identified with a code starting with the letter S The error messages are generally self explanatory but additional insight into the error conditions and suggested corrective actions are given in Chapter 10 Diagnostic and Error Messages Graph Errors 37 Extraneous information in S Bus Client The customer is a business client b S31 Node name used in Relations statement not defined or invalid Bus_Client W02 Define
17. Guide PRINT Action Check Box If the Print Action check box is selected one or more check boxes for each of the reports to be printed should also be selected When the Print Action check box is selected the selected reports are printed for each of the cause effect graph files appearing in the list of files to be processed Dialog Buttons RUN the Queue Button The RUN the Queue button is only active when both of the following conditions exist one or more files appear in the list of file names to be processed and the Run and or Print Action boxes are selected On selecting the RUN the Queue button a copy of the file names in the list box and the specified actions is saved in a command queue file having a filename suffix of QUE If this is a new command queue file then a File gt Save As dialog box is presented so you may specify the name and desired location of the file The run and or print actions specified are then carried out for each of the cause effect graph files listed No other BenderRBT related processing such as editing a cause effect graph file may be undertaken while the Command Queue processor is running During the running of a command queue the Thermometer dialog is displayed indicating the cause effect graph file currently being processed and its status Note The use of an animated screen saver during a lengthy command queue process greatly impedes BenderRBT s ability to efficiently generate test cases in a reasona
18. New primary cause state for lt nodename gt added to Old Test lt testnhame gt While processing an Old tests definition a primary cause state not defined in the Tests statement has been added to the test case definition Examine the test case definition generated to verify that it is correct and accurate Normally all of the primary cause states for a given Old test are specified using the Tests statement although it is possible that the relations and or constraints may have been modified or updated This is an informational message only assuming that the modified Relations and or Constraints statements accurately represent the now current specification T11 lt Note gt Probable graph logic error TRUE FALSE state of lt nodename gt always Infeasible Either TRUE or FALSE is indicated in the message BenderRBT was unable to synthesize at least one test case specifying the true or false state of this variation s effect Further due to constraints imposed upon the graph the true or false state of this effect is always infeasible This is a probable although not positive indication of a logic error in the input graph specification Review the input graph specifications and the output test cases created for completeness accuracy and reasonableness Especially review any multiple constraints affecting any cause nodes that precede this effect If necessary modify the input graph statements as required and reprocess this graph file
19. and insert a full negative description automatically for all of the nodes The other case where you would generally leave the False State blank is for an Explicit Intermediate node 3 4 5 Node Type The choices for Node Type are Standard Node and Explicit Intermediate Node The Standard Node is the default It just means that the node represents a cause or an effect that has specific meaning in modeling the requirement in the graph The Explicit Intermediate Node also called a dummy intermediate node is the result of graphing a compound logical expression For example the specification says that A is true if B or C is true and D or E is true To draw this you need a node that represents B or C another that represents D or E and then use an AND to link them to A The graph would be 15 BenderRBT Cause Effect Graphing Users Guide Explicit Intermediate Nodes Nodes I1 and I2 are Explicit Intermediate Nodes I1 would be defined as 4B Node Editor ee Node Name 1 SS Cancel Node Logic Jor Ul Type None Node Type Observability Standard Node fe Default V Wbsenvable intermediate Wade f Forced Test Descriptions Business Description Requires DTT Automated Verification Requires DTT True State Description False State b Description V b I1 Node Definition 16 BenderRBT Cause Effect Graphing Users Guide 3 4 6 Observability Observability means that someone running a test
20. avoids having such things as it was a valid log on the log on passed the log on was OK all meaning the same thing You define once what the description should be RBT then uses that description for all tests where this node is in the true state If you later decide to change the wording you only change it one place RBT will then update all of your tests with the new description There are times when you do not want to have anything in this field e g a dummy intermediate node Just type in a space 3 4 4 False State Description The False State Description works the same way as the True State Description The default is the b which means do not display anything when it is false You may also uncheck the b box and enter a space If this node is one of a list of related nodes such that if one of them is true the others will be false then use the b option For example let us say that we have three customer types corporate retail and government If one of them is true the others will be false We do not want the test case to read the customer is a corporate customer the customer is not a retail customer the customer is not a government customer We just want it to say the customer is a corporate customer Such tightly coupled nodes should be in an Exclusive One or Inclusive constraint If they are in an Exclusive constraint and you get the test where all of the causes are false RBT will override the b
21. building blocks for defining the tests Sometimes the test would imply that two or more causes in an OR would have to be true Since an OR relation would only generate variations with at most one true RBT would not be able to complete the test definition Note this will be addressed in the next generation of the test design engine In such cases the tester needs to complete the test definition manually 5 8 New TESTS Report As discussed in the chapter on managing tests RBT remembers the tests it has previously designed via the Tests file This report shows those tests ESTS TEST 1 TEST 2 TEST 3 TEST 4 TEST 5 TEST 6 TEST Bi_button Bi_msg not B2_ button B2_ msg not B3_button B3_msg not B4 button B4 msq not Bi button Bl_msg B2_button B2_msg not B3_button B3_msg not B4 button B4 msg not Bl_button Bl_msg B2_button not B2_ msg not B3_button not B3_msg not B4 button not B4 msg reset_hit not Bl_button Bl_msg not B2_button B2_msg B3_button B3_msg not B4 button B4 msg not Bl button Bl_msg not B2_button B2_msg B3_button not B3_msg not B4 button not B4 msg not reset_hit not Bi button Bl_msg not B2_button B2_msg not B3_button B3_msg B4 button B4 msq not Bi button Bl_msg not B2_button B2Z_msg not B3_button B3_msg B4 button not B4 msg reset_hit a a a a a E ou New Tests Report Note that only the causes for each test are defined In using this test information RBT will deduce what
22. files in an unattended batch processing mode You cannot use it to run multiple rbt files This feature was originally built into RBT to allow us to test the test case design engine and the various reports It turned out to be useful in day to day work also when we have graphs that take a long time to run We just set up a queue of them and let them run over night Even if you are using the RBTg front end this can still be useful If you have a longer running graph you can cancel the run The ceg file has still been created You can then run the graph directly in RBT If you have a number of them you can set up a Queue and run them all When you select the File gt Command Queue menu item two menu items are presented New Queue and Open Queue Select File gt Command Queue gt New Queue to create a new Command Queue file Select File gt Command Queue gt Open Queue to access a previously created command queue file In both cases if there was a previously open cause effect graph file the Graph Editor and related reports are closed Then the Command Queue Editor dialog box appears Command Queue Editor lt New Not Saved gt File s Currently in Command Queue C CEGRAPHSBULKTESTSDISK1SINS 24L2 CEG ADD to Queue C CEGRAPHSBULKTESTSDISK1SINS 24LL CEG C CEGRAPH BULKTESTSDISKISINS 2D01 ceg REMOVE from Queue C CEGRAPHSBULKTESTSDISK1SINS 2D02 CEG C CEGRAPHSBULKTESTSDISK1SINS 2D03 CEG C ACEGRAPHSBULKTESTADISKISINSY2
23. graph file the test case generation function must have been successfully completed When you select the Export to TestDirector command the dialog box on the following page is displayed Export Test Cases to TestDirector tm X TestDirector Logon Options TestDirector Project Public_Demo 7 TestDirector User Name kety sexxx TestDirector User Password Export SoftTest Script Test Cases to TestDirector TestDirector Subject Folder Database Operations ha NEW Test Plan Name Check for Overdraft Protection EXPORT Test Cases Cancel Help Export to TestDirector On first use of this function the edit boxes are empty On subsequent usage each of the boxes except the User Password and Test Plan Name will contain the values specified for the previous successful export of test cases Begin by establishing the TestDirector logon options A list of TestDirector Projects is available in the drop down list Ensure that the desired project name is selected Enter your TestDirector user name and password to authorize your access to the TestDirector facilities A drop down list containing the names of the folders in the TestDirector Project specified above is maintained in the box labeled TestDirector Subject Folder Select the folder in which you would like the exported test cases to reside Finally specify a folder name that you would like to assign to the new test plan that you are about to create Note
24. in a relation statement we can also toggle the vector in a constraint Just select the vector right click and select the make false option Our Mask constraint now looks like this 24 BenderRBT Cause Effect Graphing Users Guide r checking Big Money 00 Protection Not MASK Few ODs Uni Directional Constraint False Subject For any constraint you can make one or more of the connections False For example the constraint might be that A B and NOT C are mutually exclusive You would just add an EXCL constraint to the graph link nodes A B and C to it and make the vector connecting the EXCL to C false 3 7 Adding a Note You can add notes to the graph i e comments To do this place the mouse in the working area right click and select the Add Note option Add Node Ctrl N Add Constraint gt Save Ctrl S Save As Ctrl E Add Note Ctrl T Find Ctrl F Find again F3 Copy Ctrl C Paste ctrl Generate Reports Exit Add Note 25 BenderRBT Cause Effect Graphing Users Guide When this is selected the Note Editor will appear This is a free form comment block There are no restrictions on the characters The comment may be up to 8190 characters long i Note Editor Save Cancel Note Editor Type in your note and hit Save The note will appear on the screen Check the limit on recent overdrafts with the user Note Example After the note has been created
25. it to the desired nodes Do this by double clicking on the constraint The word Linking will appear Then click on the nodes in the constraint If the constraint is a bi directional constraint Exclusive Inclusive One then the order of selecting the nodes does not matter Bus client EXCL f Preferred Client Bi Directional Constraint 23 BenderRBT Cause Effect Graphing Users Guide If the constraint is a unidirectional constraint then the SUBJECT of the constraint must be selected first and then the OBJECTS In our Check OD example we have an attribute Mask with Checking as the Subject and the Big Money OD Protection and Few ODs as the Objects In other words if you do not have a checking account how could you have a lot of money in it or no overdraft protection for it In adding this constraint we first select the Mask double click on it to activate linking and then select Checking first After Checking has been selected select the other Objects checkin Big Money o0 Protection mm Uni Directional Constraint MASK On the graph notice the direction of the arrows The arrow flows from the Subject node and to the Object nodes Also the arrow from the Subject node is red while those to the Objects are blue We still have one more step in setting up the Mask In this case it is when we do NOT have a Checking Account that the other nodes are masked Just as in toggling a vector
26. more nodes in one or V more preceding functional variations in a test case path i e at least one of the cause states in the functional variation has placed a constraint on one of the other cause nodes across two or more functional variations The functional variation is excluded from subsequent Design Tests processing i e the conditions present in the variation are not tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated 98 BenderRBT Cause Effect Graphing Users Guide V06 Due to ANCHORed node constraint violation One or more nodes in the variation are primary cause nodes which have had their states declared to be held to true or false using an Anchor Constraint statement state The functional variation is excluded from subsequent Design Tests processing i e the conditions present in the variation are not tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated 10 7 T Diagnostic Messages in the Functional Variations Report The Txx messages that appear immediately preceding a functional variation apply only to that Variation Txx messages that appear at the end of a set of Functional Variations and prior to the display of the next Relations statement in the listing apply to the set of variations whi
27. on the test scripts that Tom has been deleted 4 4 Supplementing Old Tests You can then ask RBT to supplement the test cases to bring the coverage back up to 100 From the RBTg interface choose Generate gt Run Both Again you will be 39 BenderRBT Cause Effect Graphing Users Guide prompted for the test file that contains the existing tests When this is done the new test definition matrix is TIT T TT T T T F F F F F F F F T F Harry obs T T F F T F Harry Tests Run Both There is now a new Test 6 The matrix also still notes what must be added to the five old tests In the Batch and Script Reports the new test is described and annotated as such New Test TEST 6 Harry Goes To The Party Tom Helps Out Cause states Sally goes to the party Sarah does not go to the party John goes to the party Bob goes to the party Tom is not going to the party Effect states Harry does not go to the party 40 BenderRBT Cause Effect Graphing Users Guide 4 5 Editing Old Tests Once you save your tests you can edit them You can change the test ID or even modify the list state of the primary causes To edit your tests you select Utilities gt Preserve Tests gt Open Old Tests This lets RBT know which set of old tests you want to consider Once the tests file has been selected you can Run Old or Run Both from the RBT interface It also activates the test editor feature You then open the test file you want to ed
28. punctuation mark is specified in the syntax definition as the delimiter e The number of characters contributing to statement length is tallied as follows Any number of blanks is allowed at the beginning of a statement to permit indentation and are not counted Two or more blanks appearing between terms in a statement are counted as one character Multiple blanks appearing within a term in a statement e g a node description field are all retained and counted as individual characters The period at the end of each statement is counted as one character and serves to reset the statement length counter Any carriage return and line feed characters embedded within an ASCII text file and used as logical record delimiters are only counted as one character when they occur between terms in a single statement e Any tab character ASCII value 09 embedded within a statement will be converted to a single blank character Note that when a text editor other than the facility provided by BenderRBT is used to create or modify a graph file the tabbing conventions used by the other editor may not coincide with those used by BenderRBT and therefore may not always be aligned in the desired format e Every statement except Category Headers must be terminated by a period Periods may not appear within a statement except within comments 109 BenderRBT Cause Effect Graphing Users Guide e An input line may contain up to 250 characters A statement may consis
29. relation statements to identify causes and effects must have been defined as a Nodes statement somewhere in the graph BenderRBT also rejects any Relations statements using an undefined node name The sequence in which node names appear in test case descriptions is based upon their sequence of definition within Relations statements not based upon their sequence of definition using Nodes statements Further within each Relations statement the cause nodes are evaluated before the effect nodes For example consider the following Relations statements X AorBorC Y DorEorF In this case the nodes appear in the following priority sequence within any test cases which reference them A B C X D E F Y PAS Relations within the scope of the test effort are active and those outside this scope are passive Passive relations are used to define scaffolding used in testing the active relations Such passive relations are not addressed by the functional variations or test cases Relations are presumed active unless explicitly designated as passive by the PAS parameter Relations Statement Examples RELATIONS SaveDef NOT filename 121 BenderRBT Cause Effect Graphing Users Guide SaveSpec Filename and newname OR oldname PAS MemSame SaveDef or SaveSpec 11 7 Test Statements Test statements describe the cause states of existent tests When applicable these statements are included with the graph definition file to w
30. the default path The About and Exit options mean what they do in all applications BenderRBT Cause Effect Graphing Users Guide 3 Creating the Cause Effect Graph For the following discussion on creating a graph and reviewing the functions features of the tool we will use this specification Overdraft Protection Specification If the customer is a business client or a preferred personal client and they have a checking account 100 000 or more in deposits no overdraft protection and fewer than 5 overdrafts in the last 12 months set up free overdraft protection Else do not give them free overdraft protection The corresponding RBT file is called Checkod rbt and can be found in the Examples directory where RBT was installed 3 1 Creating a New RBT File The Cause Effect Graphs are created in an rbt file This file contains information about the nodes relations constraints etc When you run this file to generate the tests two other files will be created the ceg file which is the API data file and the d_b file which contains all of the generated test case definition data These are work files They are given the same name as the rbt file and placed in the same directory To create a new graph select File gt New The following dialog will appear Create Browse Model to Create entation 0 RBT User Manual RBT Graph Files Check OD rbt Clear DB List drop down list for most recently used Cancel Create Ne
31. the effect states will be based on the graph 52 BenderRBT Cause Effect Graphing Users Guide 5 9 Test Statistics Report The Test Statistics report summarizes data about the graph including how many variations the number of tests the number of possible tests the run time etc Test Statistics Take An Order For Ice Cream NOR Changed to Nots With AND Ir Input Graph Filename C BenderRBT Documentation Bender Input Last Modified 5 2 2006 3 40 23 PM Design Tests Last Run 5 2 2006 12 04 33 PM BenderRBT Release 7 0 5 Z Win32 Run Synthesis of New Tests Number of input statements 31 Number of Functional Variations 20 Number of infeasible variations 1 Number of untestable variations O0 Number of new test cases defined 7 Number of tested variations 19 Number of Feasible Variations 19 Percentage of functional coverage of feasible variations 19 19 100 100 Number of tested variations 19 Percentage of functional coverage of testable variations 19 19 100 100 Number of Primary Causes 9 The THEORETICAL maximum number of test cases is 2 9 512 The number of test cases generated by BenderRBT is 7 The test case compression ratio is Agay 73 d Number of Testable Variations 19 The testable variations to test case compression ratio is 19 7 3 1 BenderRBT Elapsed Time 00 00 01 hh mm ss Test Statistics Report For any of the calculations of the percentage of functional variation coverag
32. the information RBT knows about the graph and the tests This data can then be exported and used as input to executable test generation tools The Capture Playback report generates the tests in the format that various capture playback tools want as input It only generates them as comment statements The Functional Specification report generates a requirements document from the graph information The MIL STD 498 generates the test descriptions in a format that some military projects prefer to use The Format Preferences allows you to tune what is displayed on the Script and Batch Test Case reports 5 1 Cause Effect Graph Report RBTg generates the Prolog syntax version of the input to the RBT test design engine This is also the input format used by the API Generally a user of RBT would never directly manipulate this information 45 BenderRBT Cause Effect Graphing Users Guide TITLE Check Overdraft Protection Generated by DTT Tuesday May 02 2006 from database C BenderRBT Documentation Bender RBT Doc NODES Bus Client The customer is a Business Client b Preferred Client The customer is a Personal Preferred Client b Checking The customer has a checking account The customer does not have a checking account Big Money The customer has 100 000 or more in their checking account The customer has less t OD Protection The customer has overdraft protection on the checking account The customer does
33. would be able to directly see the state of the node Things that are inherently observable are objects on a screen updates to a data base packets sent over the communications lines and objects on reports Some systems also have additional observable objects such as sound and movement e g robotic arms RBT assumes that primary effects are observable and that intermediate nodes are not observable This has a significant impact on designing tests We need to ensure that we not only get the right answer but that we get the right answer for the right reason If an intermediate node is not observable and a defect occurs at that point the defect must be propagated to an observable point This propagation must be done in such a way so that two or more defects cannot cancel each out It must also be done in such a way so that something going right on one part of the path does not hide a defect from another part of the path This is called sensitizing the test path It is taken care of by the test design engine If an intermediate node is not observable then leave the setting to the default If an intermediate node is actually observable then set the node to an Observable Intermediate Node When RBT is designing the tests it is sometimes impossible to sensitize the path This can occur because of constraints and or the overall logic The result will be that some of the Functional Variations will be flagged as Untestable This means that they are leg
34. you can edit it later To do this double click on the white portion of the Note The Note Editor dialog will appear again Make your changes and select Save Notes may be free floating They may also be connected to one or more nodes and or constraints To connect a note to a node and or constraint double click on the yellow portion of the Note The Linking message will appear Click on the target node constraint and a dotted line connecting the note to the object will appear FewoDs 7 Check the limit on recent overdrafts with the user Note Example Connect to Node You can later disconnect the note by selecting the dotted line and hitting Delete 26 BenderRBT Cause Effect Graphing Users Guide 3 8 Miscellaneous RBTg Utilities There are a number of useful utility functions to aid in drawing the graphs These are accessed by the buttons across the top We will cover them in the order they appear from left to right zmo alal alal sjel F ije RBT g Utilities 3 8 1 Zoom The zoom pull down and the magnifying glasses with the and symbols allow you to make the drawing larger or smaller on the screen 3 8 2 File The File symbol is a Save function 3 8 3 Find Find Again The binoculars allow you to find a specific node in the graph This can be very useful in large graphs with over a hundred nodes Selecting this option results in the Find editor appearing Find what use for wild card e g n
35. z z 14 HERRE 15 ROME Gow 16 BERBER 17 18 xi x 19 Px x XT 20 nae ete Unique Vars AA BA Total Vars els 4lel5l6l6 Coverage Analysis Dialog In this example using Torder4 three tests have been marked as being successful the ones in green To mark a test has having been successful just click on that column The dialog follows MS Windows conventions If you select a column it highlights If you select another column only the new column is highlighted To select more than one test keep the CTRL button pressed as you select additional ones To select a range of columns keep the SHIFT button pressed while you select the first and last column in the range With these three of the seven tests the current status is Weak Coverage 63 and Strong Coverage just 15 71 BenderRBT Cause Effect Graphing Users Guide Notice on the dialog the Fewer Test gt gt option Selecting this brings up a supplemental dialog A R I TIT T A EJEJE bi SITS TS I T T T 0 H Coverage Analysis Fewer Tests Wosk oe Clear All Number of Tests Select All E Strong Coverage Strong Coverage 0 19 100 0 Help 6719 100 31 Maximize Note Select Any ONE Test Name Weak Coverage va a e Ea a a e a e Strong SHIFT Select RANGE of Test Names 100 63 Weak CTRL Select MULTIPLE Test Names ieee 100 Complete Fewer Tests gt gt lt lt Hide REQ ERR RRBs 20 E Unique Vars Total Vars 664
36. 1 3 Export T TestDirector sueeos tieciet retere erisin ser iiiaae saiast aeia noi 73 TA Export to TestExplorer insni santeiri enn an ai E E a a 76 8 CaliberRM Integration oiscceseriiniii iaa E EA a aaae 78 9 i System Limits ieseni eaa a n a a a a a E 82 10 Diagnostic and Error Messages sssssessessssssesseesrssressteseseesseesesressressessessessrsseesseest 84 ORDA a AUE AE A EAEE EA TA A AEE E tS 84 10 2 Int rnal Error Messag Ssss iseenese ta ontas iaiia i i aiie 84 10 3 Limit Errot Messaoceec icc aciaeusya asuacencla E AR R E E R 85 10 4 Syntax or Severe Error Messages ssesesseeesseesseesseesseressressseessresseessseesseeesseee 85 LOSS Warning Messages syetan a o E e a e a a a h 94 10 6 Functional Variation Report Messages sessesessssessessreseesseesresresseesseserssressessess 97 10 7 T Diagnostic Messages in the Functional Variations Report ssssssseseesessesees 99 11 Cause Effect Graphing API so ccte ne coaster ss aus catteasues eeeae See aueddeeeeduce cies 107 VI t Statement Cy Pes disinn eein iE E E hate maieence tea need 108 112 Statement VMAX ia dice ne Ea E E a EE O a RE ERES 108 IES Fie Statements siens i ee Re Rr RC Ree e I aS 110 11 4 Nod s Statements oeiee e ss ous aeniea Ea A oc E EE R eS 111 VTS Constraints Statements ienien a iiie rA AE Ta ANA AR A 115 T16 Relations Statements nenieca aire i E A 119 117 Test Statements isn tensie a il n A eect cea a aa aia 122 11 8 Subgraph Statement
37. 4 tt ttt ttt tt Nodes Node Number 1 Node Name Bus Client True Description The customer is a Business Client False Description B Observability N Active Passive Node Number 2 Node Name Preferred Client True Description The customer is a Personal Preferred Client False Description B Observability N Active Passive Node Number 3 Node Name I1 True Description False Description B Observability N Active Passive a Program Data Report 56 BenderRBT Cause Effect Graphing Users Guide 5 12 Capture Playback Report RBT does not generate executable tests unless used in conjunction with the DTT add on It can however export the tests to other off the shelf playback tools It does this by putting the tests in the form of comment statement using the format expected by the target tool It then creates a file for each test and an include file for the set of tests This gives the user some degree of self documenting tests gt gt Master Script for Rational Robot C gt gt Check Overdraft Protection gt gt Created from DenderRDT C Test Synthesis Output gt gt C BenderRBT Documentation Bender RBT Documentation 7 0 RBT User Manual RBT G gt gt raph Files Check OD ceg gt gt 5 2 2006 4 46 12 PM gt gt Run Synthesis of New Tests Lap FREE EEK KEE KEKE KEE KEKE KEKE KEKE KKEKEKKKKKKKAEKEKKKKEKEKKEKEKKEKEKKKKKKEKKKKEH Sub Main Dim Retval as Integer Def
38. BT Cause Effect Graphing Users Guide You can select any set of reports and the entire set will print back to back The set shown in the example is the default set 62 BenderRBT Cause Effect Graphing Users Guide 6 Options When you select Options you get the following dialog Options Utilities CaliberRM Wi Colors Font Logic Symbols New License Key TestDirector Repository rows Options Dialog Colors allows you to control what colors to use to highlight various things in the RBT reports Font allows you to select what font to use for the various reports Logic Symbols allows you to select between the three symbols sets on the Logic Diagram note that this does not affect the choice made for the graph in RBTg New License Key allows you to enter a new key for RBT Test Director Repository allows you to specify the location of TD 6 1 Colors Selecting Options gt Colors gives you the following dialog 63 BenderRBT Cause Effect Graphing Users Guide Choose Color Usage C Factory Defaults Monochrome No Color Custom RESET Custom to Factory Defaults Sample Display True State Infeasible False State i Masked Node prar Unique Var Coverage Bkgrd Editor Default Text Editor Comment Editor Quotation i CHANGE Custom Color OK Cancel Help Colors Dialog With this you can tailor the look and feel of the various RBT reports For example on the Test De
39. BenderRBT Cause Effect Graphing Users Guide The header for the Constraints statements is as shown below CONSTRAINTS The Constraint statements must be grouped together with the CONSTRAINTS header leading the group Multiple groups of Constraint statements are permitted provided that each group is preceded by a Constraints header The format of the Constraints is as shown below MASK NOT subjectNode objectNode If the leading subjectNode the subject of the Mask statement is in the specified state then the state s of the succeeding objectNode s the objects of the Mask are undefinable Common synonyms which may be substituted for undefinable are indeterminate and irrelevant Note The state s of the succeeding object nodes are irrelevant and therefore the false state of any object nodes may not be specified using the NOT keyword in the Mask statement For example the Constraint statement MASK X NOT Y is illogical and not allowed REQ NOT subjectNode NOT objectNode If the leading subjectNode the subject of the Requires statement is in the specified state then the succeeding objectNode s the objects of the requirement must be in their specified state s EXCL NOT node NOT node NOT node The specified nodes are mutually exclusive meaning that at most one of the nodes in the set may be in the specified state in each test INCL NOT node NOT node NOT node
40. CET file The other path to this feature is from RBT itself To do this select Utilities gt Preserve Tests gt Save Tests As Let s take an example We will use the Harry Party rbt graph from the Examples Directory The specification for this is 34 BenderRBT Cause Effect Graphing Users Guide If either Sally or Sarah go to the party And Sarah and John do not go to the party together And Sally and Bob do not go to the party together Then Harry will go to the party Harry Graph Version 1 35 Harry i BenderRBT Cause Effect Graphing Users Guide The test case matrix for this graph is FF T T TEITE F T T T ee e il ed a Ea T T F T T Harry 3 TE TET Harry 2 EEPE ee Od Harry obs T T F FI F Harry Tests Version 1 When we save off the tests they have the following format TEST 1 Sally not Sarah John not Bob TEST 2 not Sally Sarah not John Bob TEST 3 not Sally not Sarah John Bob TEST 4 Sally Sarah John not Bob TEST 5 Sally not Sarah John Bob There is a Test Case ID which is composed of a generic name and a number Then the state of only the primary causes is defined RBT will deduce the states of all of the other nodes from this information and the graph Each primary cause s name is prefaced with either nothing i e it is True or not i e it is False If a primary cause is masked for a given test is not mentioned in the set 4 3 E
41. D BENDER CAUSE EFFECT GRAPHING USER GUIDE BenderRBT Cause Effect Graphing Users Guide Copy Right Notice The BenderRBT Cause Effect Graphing User Manual is 2003 2005 2006 by Bender RBT Inc 17 Cardinale Lane Queensbury NY 12804 Phone 518 743 8755 Fax 518 743 8755 E mail rbender BenderRBT com Web Site www BenderRBT com This Manual may not be copied in whole or in part nor transferred to any other media or language without the express written consent of Bender RBT Inc Technical Support If you have any questions about this manual or this software contact the Bender RBT Inc support group The hours are Monday Friday 8 00 AM to 6 00 PM PST The fax number and e mail options are available 24 hours a day 7 days a week e E mail support BenderRBT com e Phone 707 538 1932 e Fax 707 538 1481 Software License Notice Your license agreement with Bender RBT Inc authorizes the proper use and duplication of the BenderRBT software Any unauthorized duplication of the software in whole or in part in print or in any other storage and retrieval system is forbidden Trademarks BenderRBT Quick Design Caliber RBT and CaliberRBT are trademarks of Bender RBT Inc All other product and company names are trademarks or registered trademarks of their respective owners BenderRBT Cause Effect Graphing Users Guide Table of Contents Vg TIVO CLIO 0 TAEAE E tes eancuie sees ees tas deans seas ea co
42. DX1 CEG REMOVE ALL from Queue a Link Old Test Action s to be taken for each file in Command Queue M RUN New Old Both CLEAR ALL Actions V PRINT Input C E Graph Coverage Matrix Graph Errors MV Definition Matrix Statistics V Variations Batch Test Defs l New Tests Logic Diagram Script Test Defs Functional Spec RUN the Queue SAVE the Queue SAVE the Queue AS Cancel Help Command Queue Editor 126 BenderRBT Cause Effect Graphing Users Guide There are two primary tasks to be accomplished before executing the Command Queue building the list of ceg files to be included and specifying the desired run and or print options Command Queue Editor Building the List of Files ADD to Queue Button On selecting the ADD to Queue button a standard File gt Open dialog box is presented which may be navigated to select one or more cause effect graph files to be processed Cause effect graph files may be selected from this dialog box only one subdirectory at a time although the command queue list of files to be processed may consist of files from multiple devices and directories To select multiple cause effect graph files from the same directory either hold down the Ctrl Control key while selecting individual files or hold down the Shift key while selecting the first and last files in a range of contiguous file names you wish to process When one or more files in a directory have been sel
43. E E E E E E E E eh eee goer CPR NU ei 27 3 8 3 Find Eind Agam g e a e a a e cane a N av onniaee 27 BBA NODS D E E E E E 27 3 8 5 Constraint Listen aa E E A E E E E 28 ISO NOE DISHA Vnan iee n a a A N a EAT 28 3 8 7 Constraint Display ia harra iio a E a a A E Rih 28 3 8 8 Display Grid anean a r E aia dae E E E EE aang Anan 29 SR TS OST A E E E EE E yeas eee ae 30 4 Creating and Managing Test Cases ssessesseessesseseesseeserssessesstssressessresresseeseesressee 31 4 1 Creating a New Set of Test Cases ivi s csssascct satus paseiectaeeteosgasdioces cower atean 33 4 amp 2 Saving Your CSG e uence nn tecrsak dys n R E ssioem E E vita 34 4 3 Evaluating Old Test Gases ensnare enna a oa TE E TAE S 36 4 4 Supplementing Old V CS1 Se oie csacve eases cuss oaccies oc dcenlee eececesevadtuss sybacciess sdaut qe mencey dares 39 4 amp 5 Editing Old T Ests senres iienaa EE R RE EEEE TE AEA aS 41 4 6 Telling RBT About Non RBT Tests ss sssesseseseseesseseessressessrssresseesessresseeseesressee 42 Ds ELE 0 TIS E E S E A A A E EE E E T cmesataanenceteeueeedeees 44 Sl c Ca se Effect Grape por tess iire iararen aa a tel cms 45 5 2 Graph Errors Repoftisnr irine inariana ar a A E R A AETA 46 5 3 Functional Variations Report sseeeseessessseseessessresresseeseesresseestesrrssresreserssresseseess 47 5 4 Script Test Case Definitions Report ssssesessssessesseesseesresresstesresressresseserssressesess 48 5 5 Batch Test Case Definition Repo
44. S parameter In essence these nodes denote where diagnostic probes should be built into the software to ensure full testing of the function Primary effects should be explicitly designated as observable only if all of the following conditions exist e The subject graph is itself a subgraph of another graph e The subject effects are directly observable in the context of the integrated graph e The subject effects are intermediate nodes in the integrated graph Note For a complete discussion of true and false state descriptions and observable vs forced observable considerations refer to the section titled OBS FOBS Declaration in Node Definition in Chapter 4 of the User Tutorial Nodes Statement Examples 113 BenderRBT Cause Effect Graphing Users Guide NODES Filename A valid filename is specified Filename2 A valid filename is specified An INVALID filename is specified Filename3 Valid filename INVALID filename OBS newnamel specified new_name newname2 specified new_name B newname3 specified new_name B oldname specified old_name SaveSpec File is saved under the specified name obs SaveDef saved file default_ name Obs MemSamel unchanged memory and display MemSame2 unchanged memory and display FOBS anyNode1l anyNode2 FOBS IntNode B QuickNode A Data Dictionary of node nam
45. The customer is a Business Client c gt The customer has a checking account C gt The customer has 100 000 or more in their checking account Cr The customer does not have overdraft protection on the checking account hee The customer has had less than five overdrafts in the last 12 months E gt Give the customer free overdraft protection e gt if Invalid Result gt gt gt gt Reset Test if Necessary gt gt Check Overdraft Protection gt gt Created from BenderRBT C Test Synthesis Output Capture Playback Report 57 BenderRBT Cause Effect Graphing Users Guide 5 13 Functional Specification Report It is incredibly rare that a tester will ever see a detailed unambiguous specification of a function s rules Specifications are unfortunately not always updated after the ambiguity reviews and graphing process have identified issues However as long as the tester received answers to their questions they can create a graph that accurately reflects the rules What RBT does is sort the information another way to generate an as built Functional Specification from the graph information The tester can then give this to the analysts developers as an add value benefit of the overall RBT process Functional Specifications Check Overdraft Protection Run Synthesis of New Tests Input Last Modified 5 2 2006 4 46 12 PM FHF HF Ht to tito tei H NOTE This document was created using BenderRBT tatatotitatati
46. _msgj obs F F T F F F T Test Definition Matrix 51 BenderRBT Cause Effect Graphing Users Guide If there is a small t or f in a cell it means that RBT filled this in to complete the test definition These nodes are not the primary objects being tested In cases where it is non trivial to verify test results the tester might make a judgment call not to explicitly verify the results for these nodes when the test is executed The general guideline however is to verify all test results Some masked nodes will have a capital M while others might have a small m The capital M denotes that the node was explicitly masked for this test in the graph The small m denotes that RBT deduced that the node was masked by extrapolation If you have an I in the matrix it means that the node state was indeterminate Indeterminate results are always an error either in the graph or in the original logic in the requirement The most common cause of them is an incomplete Mask constraint A capital I denotes that this is the point where the effect became indeterminate A small i denotes that this node is indeterminate by extrapolation Focus on the points in the graph where the capital I appeared to debug the problem In some cases you might have a space in a cell This means that RBT could not fill in anything and still be consistent with the logic of the graph RBT uses functional variations as the
47. addresses both test optimization and observability of defects since it sensitizes the test paths to ensure that any logic defect will propagate to an observable point If the functions you are testing are business critical mission critical and or safety critical we recommend using the Cause Effect Graph based test design The other test design engine in BenderRBT is Quick Design It is based on pair wise testing It and all other combinatorics based test design engines address only reducing the number of tests to a manageable level Quick Design should be used for non critical functions or an initial shakedown of critical functions which would then be followed by C E Graph based tests Another area where Quick Design is appropriate is in designing configuration tests and creating seed tests for performance testing See the Quick Design User Manual for the details of using that test design engine Tools automate a process Actually automation without good process is doomed to fail When we teach the Requirements Based Testing RBT class 95 of the time is spent on process not the tool This user manual will assume that you are already familiar with the overall RBT process and Cause Effect Graphing specifically If that is not true then we suggest that you read the RBT Process Tutorial which is included in the Documentation directory and or take the RBT class BenderRBT Cause Effect Graphing Users Guide 2 Entering Cause Effect Graphing
48. ages are generated otherwise it is necessary to run a full Design Tests process 93 Unacceptable change involving lt constraint type gt lt nodename gt Constraint encountered Any change to a constraints statement cannot be accepted by the Revise Descriptions processor Refer to the discussion of acceptable versus unacceptable changes in the Revise Descriptions section in Chapter 4 Modify the cause effect graph file back to its original contents and or make further corrections as deemed appropriate Then rerun the Revise Descriptions process until no Severe error messages are generated otherwise it is necessary to run a full Design Tests process S 94 Number of Constraints defined has changed Any change to a constraints statement cannot be accepted by the Revise Descriptions process Refer to the discussion of acceptable versus unacceptable changes in the Revise Descriptions section in Chapter 4 Modify the cause effect graph file back to its original contents and or make further 93 BenderRBT Cause Effect Graphing Users Guide corrections as deemed appropriate Then rerun the Revise Descriptions process until no Severe error messages are generated otherwise it is necessary to run a full Design Tests process 10 5 Warning Messages These messages identify suspicious though not critical observations about the graph None of these warnings block execution of the succeeding run phases W02 Defined node is no
49. agram Report Any intermediate node which has been declared to be Observable is noted on the Logic Diagram with a superscript bold o symbol following the node name Any intermediate node which has been declared as Forced Observable is noted on the diagram with a superscript symbol following the node name When any Logic Diagram is printed and multiple pages of output are produced the notation Row x Column y is printed at the bottom of each page as an aid in laying out the segments of the diagram 5 11 Program Data Report The Program Data Report contains all of the key information about the nodes constraints functional variations and tests for a given graph The intent of this report is for use in interfacing to tools homegrown or off the shelf used to create executable tests To use this file you would probably export it as a csv file comma delimited file This could then be brought up in Excel or imported directly into the tool BenderRBT Cause Effect Graphing Users Guide Graph Data Check Overdraft Protection RBT Release 7 0 200 Cause Effect Graph filename C BenderRBT Documentation Bender Cause Effect Graph Last Modified 5 2 2006 4 46 12 PM Cause Effect Graph Title Check Overdraft Protection Last Phase T Last Return Code O Case Sensitivity oO Old New Both N Node count s Constraint count 2 Subgraph count 0 Variation count 9 Test count 7 Primary Cause count 6 Primary Effect count 1 4 4
50. aluate how much they cover Check the Coverage Matrix Report This will quickly show you if there are any Untested variations Also you can see if you have any redundant tests A variation covered by only one test is denoted with a Ifa variation is in two or more tests it is marked with an X Any test designed by RBT has at least one variation that is not covered by another test If you have tests that are all X s then there is some redundancy Using the information in the Coverage Matrix you can decide which tests to delete while still keeping the same level of test coverage However the redundant tests might be there because of design dependent or code dependent considerations Therefore take care before deleting tests from your existing test library 43 BenderRBT Cause Effect Graphing Users Guide 5 Reports RBT generates a number of reports once you have generated your tests You can access the set of reports by selecting the Reports button on the main menu That will take you from RBTg over to RBT where all of the data is accessible Once in RBT you can access the list of reports via the Report pull down menu Options Utilities Graph Errors Functional variations Script Test Definitions Batch Test Definitions Coverage Matrix Definiticn Matriz New Tests Statistics Logic Diagram Program Data Capture Playback Functional Specfication MIL STO 498 Format Preferences Reports Pull D
51. ame Node Names may be up to 32 characters long Node names may consist of any mix of these characters A through Z a through z 0 through 9 and the seventeen characters L et amp Wa TV kee gt The following fifteen characters may not be used OuiGier ste Sacmes It may also not contain spaces The restrictions exist because of the parser in the API We suggest that you keep names short but meaningful Do not name things X Y and Z Name them with something that will make it easier to read and understand the Functional Variations report which uses these names 3 4 2 Node Logic The node logic defines what type of node it is Primary a primary cause to the graph Simple an effect that is the result of a simple relation And Or Xor Nand Nor Xnor Just access the pull down and select the option 3 4 3 True State Description The True State Description defines what you want to display in the test case descriptions when this node is true These may be up to 1020 characters long There are no restrictions on the characters included in the description Take care to make this as readable as possible Ideally you should be able to take these test cases to the user customer and other domain experts for review this in effect moves user acceptance test up prior to the start of coding 14 BenderRBT Cause Effect Graphing Users Guide One advantage of this is that all of the tests will read exactly the same This
52. an intermediate effect that have precluded the sensitizing of the effect s state 105 BenderRBT Cause Effect Graphing Users Guide T82 Note Invalid llogical input definition Test Case lt testname gt contains one or more BLANK node states On completion of the Test Synthesis phase when either the Design NEW Tests or Evaluate amp Design BOTH process has been requested BenderRBT was unable to establish the true false or masked state of one or more effects in the named test case The presence of one or more blank effect nodes in any one test case in the suite generated by BenderRBT indicates that the test definition output should be considered invalid and that the cause effect graph is either illogical or incomplete The danger inherent in accepting any of the tests in this suite is that functional variations may be reported as covered when in fact they cannot be The most likely candidate situation leading to a blank effect node occurs when in the course of designing the test case the establishment of the logical true or false state of the effect node in question will violate some other relationship or constraint that is already established Review the cause effect graph specifications and the output test cases created for completeness accuracy and reasonableness Review especially any multiple constraints affecting the same cause nodes in the graph or for any constraint upon an intermediate effect that have precluded the se
53. and clicking Then do a right click A dialog will pop up which allows you to toggle the state of the vector between true and false Make Link False space 00 Protection Pa Delete Link Del Toggle the Vector to False 21 BenderRBT Cause Effect Graphing Users Guide Once you have done that the vector will change color to red and the word false will be add to the line That portion of the graph now looks like AND Give 0D False Vector The nodes of the graph are now all linked together The next step is to add the constraints 3 5 1 Selecting the Logic Symbols RBT gives you three choices for the logic symbols in the graph classic logic symbol words and electrical engineering symbols To choose the type you want just select it from the menu bar v oR gt Cause Effect Graphing Logic Symbols When you select your desired symbol set the graph will be immediately updated 22 BenderRBT Cause Effect Graphing Users Guide 3 6 Adding the Constraints To add constraints to the graph position the mouse to the work area and right click just as you did in adding a node Select Add Constraint and select the type of constraint you want Add Node Ctrlt N EXCL Save Ctrl S INCL Save As Ctril E MASK Add Note Ctrl T ONE REQ Find Ctrl F Find again F3 Copy Ctrl C Paste Ctrl V Generate Reports Exit Add Constraint Menu The selected constraint will appear on the graph You then need to connect
54. aph you have just entered The Run Old option will evaluate the coverage of a set of existing tests against the current version of the graph The Run Both option will evaluate the coverage of a set of existing tests and then supplement these tests to complete the coverage of the graph The Revise Desc riptions option allows you to modify the True or False definition of a node without having to rerun the graph It just updates the data base with the new 31 BenderRBT Cause Effect Graphing Users Guide description This is immediately reflected on all of the generated reports e g Batch Test Cases This is very convenient in cases where you have a long running graph and find that you want to tune the wording on a description For example you may have misspelled something or you want to bring the wording to be more in sync with other sets of tests You may also use this feature when you change the wording in the Title statement However if you add delete or modify any constraints and or relation statements this function will reject with an error Generate Tests for Harry Party Stmts Wars Paths Tests Run Time a fs fs comm Previous 16 6 Show Statistics eae re 7 ro ro Must examine model error report Show Errors Change Descriptions Error Most test design runs will finish in under a second or so However if the run last longer than that you will see a progress thermometer appear Generate Tests for Lo
55. ation and reprocess the graph specifying that both Old test cases be analyzed and New test cases synthesized using the Evaluate amp Design BOTH process T18 lt Infeasible gt Due to intermediate non OBServable effect s or faulty logic The effect state of this functional variation is not feasible given one or more constraints which have been applied to the cause nodes of this functional variation One or more constraints were applied based on the state s of one or more nodes in one or more preceding functional variations in a test case path i e at least one of the cause states in the functional variation has placed a constraint on one of the other cause nodes across two or more functional variations Otherwise faulty graph specification logic may sometimes be present typically when two or more different type constraints are applied to the same nodes within a variation The functional variation is excluded from subsequent Design Tests processing i e the conditions present in the variation will not be tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated T21 lt NOTE gt LESS THAN 100 COVERAGE Achieved On completion of the Test Synthesis phase when either the Design NEW Tests or Evaluate amp Design BOTH process has been requested BenderRBT was unable to achieve 100 coverage of the functional variation
56. ations where all of the variations derived from any given Relations statement are covered See also weak coverage stuck at fault The true or false state representation of a node does not change due to an error in the program under test s software logic subgraph One or more cause effect graph statements maintained in a file separate from and referred to by a main cause effect graph file subject node The first node named in a Mask or Requires constraint statement see also antecedent synthesize The combining of sensitized nodes into logical test case definitions true state A condition which does exist see also false state untestable A functional variation whose effect state BenderRBT has been unable to sensitize due to observability issues a functional variation whose effect state cannot be observed in both its true and its false state because the effect was not declared as or is not observable or forced observable vector state The true or false state of any given cause as it was declared in the Relations statement weak coverage Within the context of the Coverage Analyzer Utility weak coverage denotes the simple percentage of any functional variations that have been covered by the selected or completed test cases See also strong coverage white box view A view of the system where the interface definition is physical and how the transformation of data is accomplished is also defined e g in terms of modules ph
57. ault Speed 500 milliseconds InitPlay gt gt Establish context here SINCLUDE C BenderRBT Documentation Bender RBT Documentation 7 04 RBT User Manua gt gt 1 RBT Graph Files Check OD_1 rec rec SINCLUDE C BenderRBT Documentation Bender RBT Documentation 7 04 RBT User Manua gt gt 1 RBT Graph Files Check OD_2 rec rec INCLUDE C DenderRDT Documentation Dender RDT Documentation 7 04 RDUT User Manua gt gt 1 RBT Graph Files Check OD 3 rec rec S INCLUDE C BenderRBT Documentation Bender RBT Documentation 7 0 RBT User Manua gt gt 1 RBT Graph Files Check OD_4 rec rec S INCLUDE C BenderRBT Documentation Bender RBT Documentation 7 0 RBT User Manua yy 1 RDT Graph Files Check OD_S rec rec INCLUDE C BenderRBT Documentation Bender RBT Documentation 7 0 RBT User Manua gt gt 1 RBT Graph Files Check OD_6 rec rec SINCLUDE C BenderRBT Documentation Bender RBT Documentation 7 04 RBT User Manua gt gt 1 RBT Graph Files Check OD_7 rec rec EndPlay End Sub gt gt Check Overdraft Protection gt gt Created from BenderRBT C Test Synthesis Output gt gt C BenderRBT Documentation Bender RBT Documentation 7 0 RBT User Manual RBT G gt gt rvaph Files Check OD ceg gt gt 5 2 2006 4 46 12 PM gt gt Run Synthesis of New Tests ISSR FKKAEKHATKEK a a AKA AAA AEA a K AKASH a a a a a a a a a a a a a a a gt gt Re Establish environment tes oer gt gt TEST CASE 1 gt
58. ause Effect Graphing Users Guide extrapolate extrapolated state false state forced observable fully sensitized variation functional specification functional variation implicit node indeterminate Infeasible Intermediate effect local relationship Sensitize an effect node state if the state of any one cause is sufficient to determine the effect state when taking into account the relational operator The true or false state of a node was established without using the combinations of node states present in the set of functional variations generated see extrapolate above A condition that does not exist see also true state An effect whose true and false states are not normally observable which the user would like to treat as observable in order to include certain untestable variations in the suite of test cases generated These identify where diagnostic probes need to be inserted into the software A statement of the sensitized true false or indeterminate state of all nodes relevant to a functional variation The document that defines in user terminology what the system should do Aliases requirements specification external specification logical specifications One or more relationships consisting of one or more cause states and a resultant effect state all of which are derived from a single Relations statement The combination of cause states presented are the minimum combinations necessary to dete
59. between land 32 alphanumeric characters More than 32 characters results in a Severe error S32 which terminates further processing It is recommended that node names be held to a maximum of 15 characters primarily for ease and accuracy of data entry The last Node statement within the input stream containing a given node name is accepted as the definition of that node Any previous Node statement with the same node name is ignored and a warning message W03 is generated Note The following headers and keywords in any combination of upper and lowercase characters may not be used as node names TITLE NODES RELATIONS CONSTRAINTS TESTS SUBGRAPHS OBS FOBS NOBS PAS EXCL INCL ONE REQ MASK ANCHOR AND OR NOT NAND NOR XOR XNOR Node names declared using any of these words are not accepted by BenderRBT A node name must be defined if it is used in a Relations statement If it is not then the Relations statement is rejected a Severe error message generated and further processing terminated 111 BenderRBT Cause Effect Graphing Users Guide A node name must be used in a Relations statement to also be referenced in a Constraints statement The Relations statement referencing the node name may appear before or after the Constraints statement If a Constraints statement references a node name not used in a Relations statement then the Constraints statement is rejected The sequence in which node names appear in test ca
60. ble amount of time BenderRBT s Run process is a CPU intensive application Any and all of the system s available processing power is consumed during this period Sharing the system s computing resources with another application especially an animated screen saver only lengthens the amount of time required to produce BenderRBT output It is highly recommended that your screen saver utility be deactivated or set to blank screen during any extended command queue processing At the completion of a request to RUN the Queue a Command Queue Log is displayed An indication of the success or failure of each of the actions requested for each of the files is printed in the Log as well as time stamps and run time summaries The Command Queue Log file has a file name consisting of the prefix portion of the input QUE file name followed by the suffix LOG VIEW the Queue Log Button The contents of the previously created Command Queue Log file associated with the current queue are displayed by pressing the VIEW the Queue Log button If there is no Log file available this button is disabled SAVE the Queue Button The SAVE the Queue button is only active when both of the following conditions exist one or more files appear in the list of file names to be processed and the Run and or Print Action boxes are selected 128 BenderRBT Cause Effect Graphing Users Guide The SAVE the Queue button saves a copy of the file names in the list box and the
61. cessary parentheses have been encountered in a relations statement Remove the superfluous parentheses Parentheses are only required when there are multiple or different logical operators AND OR NAND NOR XOR XNOR present in the same Relations statement 50 Invalid constraint type in lt statement gt The first symbol in the Constraints statement is not a valid constraint type i e MASK REQ EXCL INCL ONE ANCHOR S51 Left parenthesis missing in lt statement gt The second symbol in the Constraints statement is not a left parenthesis S 52 Node name missing invalid fnot Related lt nodename gt in lt statement gt An insufficient undefined or reserved node name is specified in the Constraints statement or one or more node names in the constraint have not been referenced in a Relations statement 90 BenderRBT Cause Effect Graphing Users Guide 53 Right parenthesis missing in lt statement gt The statement is terminated without balancing the parentheses Note that if this message occurs for a Constraints statement then one or more nodes referenced in the Constraint also have not been referenced in a relations statement Review the list of nodes presented in any W02 messages for nodes which are not used in the graph 54 Comma missing in lt statement gt A comma is required between node names in the Constraints statement S 55 Node name s repeated in lt statement gt One or more node names
62. ch precede the diagnostic message Note When reviewing the list of functional variations produced it is equally important to analyze those variations with and without diagnostic messages Only you can be the judge as to whether each functional variation is consistent with the requirements specification T01 lt Infeasible gt Due to _ constraint s ACROSS relationships or faulty logic The effect state of this functional variation is not feasible given one or more constraints that have been applied to the cause nodes of this functional variation One or more constraints were applied based on the state s of one or more nodes in one or more preceding functional variations in a test case path i e at least one of the cause states in the functional variation has placed a constraint on one of the other cause nodes across two or more functional variations Otherwise faulty graph specification logic may sometimes be present typically when two or more different type constraints are applied to the same nodes within a variation The functional variation will be excluded from subsequent Design Tests processing i e the conditions present in the variation will not be tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated 99 BenderRBT Cause Effect Graphing Users Guide T02 lt Untestable gt Due to non OBServable effec
63. constraints and or the overall logic this is indicated by an infeasible diagnostic message preceding the variation s definition 47 BenderRBT Cause Effect Graphing Users Guide If a variation proves to be Untestable due to the system s inability to observe either the true or false state of its effect node this is indicated by an untestable diagnostic message preceding the variation s definition If the user selected the Run Old option to evaluate an existing set of tests then some variations might be identified as Untested This means that the current test library does not cover them and the tests need to be supplemented to complete the coverage Additional diagnostic messages are inserted by BenderRBT when deemed appropriate For example if all of the variations that lead to an effect state being true or the variations where an effect is false have been flagged as infeasible then it is possible that the graph statements are illogically defined A diagnostic message reports this and other conditions that you should review and take action as deemed appropriate See Chapter 10 Diagnostic and Error Messages for a review of all of the diagnostic messages that may appear 5 4 Script Test Case Definitions Report The Script Test Case Definitions report is for interactive systems A test would have some causes then some effects followed by more causes and effects as the dialog continues The Script Tests lists causes and effects
64. cription field It is not necessary that the input graph contain a Title description If the description field is misplaced then the description is not recorded 94 BenderRBT Cause Effect Graphing Users Guide W20 Extraneous Invalid Obsolete Switch Info in TITLE statement Prior to Release 5 0 of BenderRBT various run time and report formatting options were passed to the program using switch keywords in the title statement A switch keyword would begin with the forward slash character For cosmetic purposes you may wish to remove the switch keywords if processing of this cause effect graph file is to take place For purposes of upwards compatibility switch keywords in the title statement are ignored by Release 5 0 W21 False state suppressed on OBServable Node lt nodename gt The B bypass false state condition has been specified using the nodes definition statement for the indicated nodename This node name has also been flagged as an observable effect using the OBS or FOBS keyword in the nodes definition statement This is a warning message only Be aware that even though this effect has been designated as observable any time that the false state effect is applicable to a test it does not appear in either the script or batch test case definition listings This situation would be plausible for example when the true state of an effect is to display an error message on a terminal 1 e it is neither necessar
65. ct a fault during testing of the relationship A node internally created and used by BenderRBT State of a node third node state possible i e true false indeterminate node state established as result of the application of a Mask constraint aliases do not care masked irrelevant A functional variation that the user has precluded from being considered for inclusion in any test case due to the imposition of one or more constraints a functional variation whose effect state is infeasible 1 e illogical not possible after one or more of the relationship s causes have been constrained A node which is both a cause and an effect i e it is both an effect of one or more causes and a cause of one or more effects A cause effect relationship that addresses only one effect 131 BenderRBT Cause Effect Graphing Users Guide logical operator masked node node object node observable passive primary cause primary effect reconvergent fanout relational operator Synonym for relational operator and connective i e AND OR NAND NOR XOR XNOR and Negation A node that is an object of a Mask constraint and the mask subject node state currently exists A single entity within a requirements specification Each defined node should clearly identify the variable and value for that variable or clearly define a system state The second and subsequent node s named in a Mask or Requires constraint statemen
66. d node not used in graph Bus Graph Entry phase completed Return Code 6 Graph Errors Report 46 BenderRBT Cause Effect Graphing Users Guide 5 3 Functional Variations Report The primitive variants of the graphed function are listed in the Functional Variation Report For each variation the following information is included e A restatement of the Relations statement e A serially assigned variation number e The cause s and their state s e The effect and its state If a node name is preceded by the word NOT the node s state is false in the variation otherwise it is true Functional Variations for one scoop Bl button AND Bl msg 1 If Bi button and Bl msg then one scoop 2 If not Bi button and Bi_ msg then not one scoop lt INFEASIBLE gt TO1 Due to constraint s ACROSS relationships or faulty logic 3 If not Bi _ msg and Bi button then not one scoop Functional Variations for two_scoop B2 button AND BZ msg 4 If B2_ button and B2 msg then two_scoop 5 If not B2 button and B2_msq then not two _ scoop 6 If not B2 msg and B2 button then not two_scoop Functional Variations Report The primary sensitizing condition s for each functional variation are listed first after the beginning word If followed by the non primary sensitizing condition s which is enclosed within a pair of parentheses in the functional variation definition If a variation proves to be infeasible due to
67. description is involved Holding descriptions to no more than 60 characters is recommended S17 User requested Cancel of run in progress You have specified that the current Run in progress be canceled No report outputs are available Restart the Design Tests or Check Syntax or Revise Descriptions process to re attempt to parse the file S19 Expected header missing prior to lt statement gt The statement is not a header nor does it follow a header Define the header S 20 Extraneous information in lt statement gt A symbol having no significance in a title statement appears ahead of the period in the statement S 31 Node name used in Relations statement not defined or invalid lt nodename gt The referenced node name has been defined using a nodes statement but not referenced by a Relations statement 32 Node name too long in lt statement gt The node name defined in a Nodes statement is too long Shorten the node name to the maximum allowed The definition and use of node names of 12 characters or less is recommended 34 Extraneous information in lt statement gt A symbol having no significance in a Nodes definition statement appears ahead of the period in the statement 88 BenderRBT Cause Effect Graphing Users Guide 35 Reserved word used for nodename lt nodename gt in lt statement gt A keyword reserved for BenderRBT s use has been used as a node name in a Nodes statement Chan
68. disk drive directory path and file name specified Ensure that the device and path do in fact exist and that the file is not currently being processed by another application Restart the Design Tests or Check Syntax or Revise Descriptions process to re attempt to parse the file 86 BenderRBT Cause Effect Graphing Users Guide S 07 User requested Cancel of run in progress You have specified that the current run in progress be canceled No report outputs are available Restart the Design Tests or Check Syntax or Revise Descriptions process to re attempt to parse the file S 08 Unable to open input cause effect graph file lt fileSpec gt The named cause effect graph file cannot be opened for processing You should check the disk drive directory path and file name specified Ensure that the file does in fact exist and that it is not currently being processed by another application Restart the Design Tests process to re attempt to access the file S 09 Unexpected error during CLOSE of input lt fileSpec gt During the termination of the phase that parses the cause effect graph file some abnormal error condition was encountered You should check the disk drive directory path and file name specified Ensure that the device and path do in fact exist and that the file name is not currently being processed by another application Restart the Design Tests or Check Syntax or Revise Descriptions process to re attempt t
69. e achieved by the test library both Old and New tests the numerator used is the actual number of tested variations present in the test cases The denominator used when computing the 53 BenderRBT Cause Effect Graphing Users Guide percentage of coverage of feasible variations is the total number of functional variations generated less any infeasible variations The denominator used when computing the percentage of coverage of testable variations is the total number of functional variations generated less the sum of any infeasible and untestable variations The reason we call this the Golly Gee Wiz report is because of some of the statistics that come from larger graphs The following statistics are from the graph testing a function embedded in a car Number of Primary Causes 142 The THEORETICAL maximum number of test cases is 24142 5 575 186 299 632 655 800 000 000 000 000 000 000 000 000 The number of test cases generated by BenderRBT is 137 The test case compression ratio is 2 142 137 40 694 790 508 267 559 000 000 000 000 000 000 000 000 1 BenderRBT Elapsed Time 00 01 28 hh mm ss This is the current record If you come up with one bigger please send it to me at rbender BenderRBT com 5 10 Logic Diagram Report The RBT engine can generate a picture of the graph via the Logic Diagram This is for use in those instances where the data was entered via the API instead of RBTg The other option is to impo
70. e applied based on the state s of one or more nodes in one or more preceding functional variations in a test case path i e at least one of the cause states in the functional variation has placed a constraint on one of the other cause nodes across two or more functional variations Further the effect node state in this variation has been masked An effect node is masked under one of two conditions the effect node is named specifically as the object of a mask or all of the causes to the effect are currently in a masked state The functional variation is 101 BenderRBT Cause Effect Graphing Users Guide excluded from subsequent Design Tests processing i e the conditions present in the variation are not tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated T09 lt Nodename gt node state declared via OLD test lt testname gt was Masked The primary cause state for the named node that was declared using an Old tests statement has been masked in the named test case definition Examine the test case definition generated The mask condition defined using a Constraints statement now precludes using the primary cause node state specified Verify that the mask and the logic are correct and that the primary cause should indeed be masked Modify either the Constraints statements or Tests definitions if appropriate T10
71. e graph being tested but includes it in the constraint which specifies it Note In short do not constrain intermediate nodes based on the output results expected constraints should be imposed solely on the basis of the input boundary conditions present When synthesizing a test path involving variations containing masked nodes BenderRBT may extrapolate the true false state of an effect when a sensitized variation exists involving one or more masked causes only when the true or false state of any one remaining cause is sufficient to determine the state of the effect after taking into account the relational operator used For example in synthesizing a test case involving the relation X A and B and C If B and C are both in the masked state and if A is false then because of the AND relational operator it can be deduced that X is false Alternatively if B and C are both in the masked state and if A is true then the state of the X effect cannot be logically determined and therefore is not sensitized The similar extrapolation of an effect state occurs for the other relational operators only when the state can be logically deduced When synthesizing a test path involving variations containing masked nodes if all of the causes in a sensitized variation are in a masked state then the effect node of the variation is also set to the masked state When synthesizing any test path Constraint statements are evaluated and applied in the
72. e of the variations for that operator are considered covered by Strong Coverage Let us use an example to clarify this Figure 1 shows a simple application rule that states that if you have A or B or C you should produce D The test variations to test are shown in Figure 2 The dash just means that the variable is false For example the first variation is A true B false and C false which should result in D true Let us assume that there are two defects in the code that implements our A or B or C gives us D rule No matter what data you give it it thinks A is always false and B is always true There is no Geneva Convention for software that limits us to one defect per function A pel Or D G Figure 1 Simple OR Function With Two Defects WON l gJ l J J J EEE Figure 2 Required Functional Variations For The OR Operator Figure 3 shows the results of running the tests When we run test variation 1 the software says A is not true it is false However it also says B is not false it is true The result is we get the right answer for the wrong reason When we run the second test variation we enter B true which the software always thinks is the case we get the right answer When we enter the third variation with just C true the software thinks both B and C are true Since this is an inclusive or we still get the right answer We are now reporting to management that we are three quarters done with our te
73. e tests automatically RBT would also validate the logical consistency of the requirements A full description of the API can be found in Appendix A BenderRBT Cause Effect Graphing Users Guide On initially entering you will get the main Cause Effect Graphing screen Sa aja eles flr C E Graphing Start Up Screen You are now ready to get started In the following sections we will go step by step in creating a graph generating the tests reviewing the reports using various utilities and exporting the results to other tools The main menu of RBTg consists of a number of options BenderRBT Cause Effect Graphing Users Guide Bender RBT File J View Generate Reports Options Uities Caliber RM scripting Configuration About Exit The File menu addresses classic open close save and save as functions The View menu addresses what to display in the work area The Generate menu addresses various options for creating evaluating and updating your test cases The Reports Options and Utilities menus take you directly to the RBT engine where these features are available The Caliber RM option takes you to RBT and ensures that the link to RM is set up properly The Scripting option is only active if you are using the Direct To Test DTT version of RBT This is used to generate automated scripts for various playback tools The Configuration option allows you to access RBT when it is installed in other than
74. e tests to one of test managers RBT exports the entire set of tests We do not go into the test manager tool to figure what is new versus changed versus unchanged We suggest you export the tests into a new file in the test manager Then work in the test manager tool to copy over the new and changed tests as needed 4 6 Telling RBT About Non RBT Tests It is quite possible that you already have some test cases built for the function that you just graphed For example you have tests from a prior release of the application not tested via RBT However these tests represent a significant investment You want to start with these tests as a base and have RBT only supplement them 42 BenderRBT Cause Effect Graphing Users Guide To tell RBT about existing tests you have two choices You can use a simple text editor define the tests using the format above and save the file as a CET file Do not forget to include the key word TESTS Also note that each test definition ends in a period If you use something like MS Word to do this you first need to save it as a TXT file Then change it to a CET file The second approach is to do a Run New of your graph Save these tests to create a CET file Bring it up in the test editor Define your existing tests while deleting the ones defined by RBT You file will be in the right format and contain only the pre existing tests After you have defined your existing tests then use the Run Old option to ev
75. e will highlight the corresponding constraint in the graph EXCL Bus Client Preferred Client MASK Not Checking Big Money OD Protection Few ODs Constraint List 3 8 6 Note Display The Note Display option allows you to toggle on and off the display of any notes for the graph 3 8 7 Constraint Display The Constraint Display option allows you to toggle on and off the display of the constraints on the graph This is very useful when you have a complex graph with many constraints especially large numbers of Masks which involve many of the same Nodes If you have the display of the constraints set to off you can add another constraint and only that one will be displayed Each additional constraint added 28 BenderRBT Cause Effect Graphing Users Guide will also be displayed until you cycle through the display don t display constraint option 3 8 8 Display Grid The Display Grid option adds a grid to the work area and also automatically lines up the nodes on the graph to the closest grid cell Sob sheet SST Ty eri TI EXCL _ ae ioe Preferred Client eo ena eee DAE ME o He P Checking zs Ke ae eer Graph With Grid On NE 29 BenderRBT Cause Effect Graphing Users Guide 3 8 9 Legend The Legend option displays the color coded legend for the objects in the graph work area Constraint Legend The shape and color of an object denotes what kind of object it is e
76. ected press the ADD button in the File gt Open dialog box to return to the Command Queue Editor dialog box The file s selected are added to the end of the command queue file list not sorted or merged into the list To return to the command queue editor without making any selections from the File gt Open dialog press the Cancel button REMOVE from Queue Button One or more of the cause effect graph files in the list of files to be processed may be removed from the command queue by selecting them and then pressing the REMOVE from Queue button To select multiple files in the list either hold down the Ctrl Control key while selecting individual files or hold down the Shift key while selecting the first and last files in a range of contiguous file names you wish to process REMOVE ALL from Queue Button To remove all of the cause effect graph files from the list of files to be processed simply press the REMOVE ALL from Queue button Specifying the Run Print Action CLEAR ALL Actions Button All of the check marks associated with the print action are cleared the Print Action check box is cleared and the Run Action defaults to New when the CLEAR ALL Actions button is selected RUN Action Check Box If the Run Action check box is selected then each of the cause effect graph files appearing in the list of files to be processed are run using the New Old Both radio button setting specified 127 BenderRBT Cause Effect Graphing Users
77. effect is true if the cause construct that succeeds it is false and that the effect is false if the cause construct which succeeds it is true AND Logical conjunction which specifies that the effect is true if and only if both of the cause constructs which flank it are true otherwise the effect is false NAND Logical conjunction followed by logical negation which specifies that the effect is false if and only if both of the cause constructs which flank it are true otherwise the effect is true OR Logical disjunction which specifies that the effect is false if and only if both of the cause constructs that flank it are false otherwise the effect is true NOR Logical disjunction followed by logical negation which specifies that the effect is true if and only if both of the cause constructs that flank it is false otherwise the effect is false XOR Logical disjunction which specifies that the effect is true if one and only one of the cause constructs that flank it is true otherwise the effect is false XNOR Logical disjunction which specifies that the effect is true if one and only one of the cause constructs which flank it is false otherwise the effect is false Cause constructs are evaluated left to right the NOT connective takes precedence over all other connectives Parentheses must be used to delineate the causes and their related connectives any time there is a change in the relational operator used which is to say
78. el error report Show Errors Generate Tests Dialog Completed Run One or more of the following messages may appear Test Case s ends with a cause This means that in the Script version of the test cases see Reports Section that one or more of the test cases ends with only the cause portion of the test described This is because the last effect was defined with a null false description Ifthe tests are really Batch tests then you can ignore this If this is a test of an interactive dialog then you need to refine your node definitions to fix this 33 BenderRBT Cause Effect Graphing Users Guide Untestable Functional Variations exists RBT was not able to sensitize the test path for one or more variations in such a way as to ensure that any possible defect would show up at an observable point Such variations are valid variations which must be tested but are not included in any test yet To solve this first ensure that all naturally observable intermediate nodes have been flagged as such in the node descriptions If this does not eliminate all of the untestables you must then identify points to force observability i e you need to insert a diagnostic probe point in the code to ensure that you get the right answer for the right reason Set the appropriate intermediate nodes to Force Observable Infeasible Functional Variations One or more functional variations have been flagged as infeasible because they violate cons
79. es used for a group or library of cause effect graph files may be created and maintained as a single input graph file This file should contain only e A NODES header statement e Any number of nodename definition statements e Any optional comment statements The name of this Data Dictionary graph file should be included using a SUBGRAPHS declaration placed immediately after the Title statement in a main graph file For example Create a graph input file named NODE_LIB CEG and place the following statements in it NODE _LIB CEG Data Dictionary of Nodenames Created by A User y Last Modified 1 15 92 by AU y NODES Name Valid name entered OBS Addr1 Valid address line 1 entered OBS Addr2 Valid address line 2 entered OBS City Valid city entered OBS State Valid state abbreviation entered OBS Then each main graph file which uses the Data Dictionary should begin with the following statements 114 BenderRBT Cause Effect Graphing Users Guide TITLE Sample Data Dictionary Reference SAMPLE CEG Sample Data Dictionary Reference Created by A User a Last Modified 6 1 93 SUBGRAPHS BenderRBT projO1 NODE_LIB RELATIONS etc If it is necessary to override the Data Dictionary s definition of a node name for example you may wish to override a node s false state description with a B bypass false states or add an OBS observable designation
80. ested by the Evaluate OLD process Any functional variation s associated with this message were not represented i e covered in any of the defined test cases In analyzing the Old tests only it has not been determined whether or not this variation is testable it has only been determined that the variation is not covered in the test cases presented If necessary rerun BenderRBT and specify that both analysis of Old test cases and synthesis of New test cases be performed by requesting the Evaluate amp Design BOTH process any variations that are then infeasible or untestable are so marked T07 Primary cause state for lt nodename gt in Old Test lt testname gt has been changed The primary cause state for the named node that was declared using an Old Tests statement has been changed in the named test case definition Examine the test case definition generated The logic defined using the Relations statements precludes using the primary cause node state specified Verify that the logic is correct and that the corresponding primary cause node state in the test case definition is correct Modify either the Relations statements or TESTS definitions as appropriate T08 lt Infeasible gt Due to _ constraint s ACROSS relationships effect MASKed The effect state of this functional variation is not feasible given one or more constraints that have been applied to the cause nodes of this functional variation One or more constraints wer
81. ew client Find Editor Type in the node you are looking for You may also use wild cards This is done via using an When you hit OK it will take you to that node If a wild card was used and more than one node meets the search criteria it will take you to the first instance of a match If you select the binoculars with the sign Find Again it will take you to the next instance on the graph In this example by entering in client it would first take us to Bus Client Hit the Find Again button would then take us to Preferred Client 3 8 4 Node List Selecting the Node List option will display the list of nodes in your graph in list form in a window on the left side of the graph 27 BenderRBT Cause Effect Graphing Users Guide 1 Bus Client 2 Preferred Client 3 9 checking 4 9 Big Money 5 9 00 Pratection 6 9 Few oDs 7 oR i 8 ANo Give OD Node List If you select a node from this list it will also highlight that same node on the graph This is useful in finding a node quickly Double clicking on the node in the list will bring up the Node Editor so that you can modify its definition Another use of this list is to tune the order in which the causes and effects appear in the test scripts You can grab the node and move it up or down in the list This will change the order in the tests generated 3 8 5 Constraint List Similarly you can display in list form the set of constraints Selecting on
82. finition Matrix you can decide what colors to use for the True False and Masked states For the Functional Variations report and Coverage Matrix you can specify what color to use as a background for infeasible untestable and untested variations Basic colors i ely E Fe SF ee Fe Custom colors Hue J40 Red 2 Sat 240 Green Lum 120 Blue jo Add to Custom Colors EEE ll lIHEEEO Change Custom Colors 64 BenderRBT Cause Effect Graphing Users Guide Using the CHANGE Customer Color button will display a full color spectrum allowing you to create any color you want have fun 6 2 Font Selecting Options gt Font gives you a classic font dialog Font Name Font Size Courier New Baltic Courier New CE 3 Courier New CYR Cancel Courier New Greek Courier New TUR ourier New a Help Parise Choose Font Usage Use for Current Report C Use for ALL Reports Use for current report only Courier New 10pt Font Dialog You can specify a font to use for all of the reports or just the one that is currently displayed 6 3 Logic Symbols As in RBTg you can choose between the three symbol sets for the Logic Diagram report Selecting a symbol set only effects the Logic Diagram not the graph drawn in RBTg This feature uses the RBT ttf font that is installed along with RBT Sometimes the font does not display properly when you first try this option You then need to go into My C
83. following sequence Masks Requires Exclusives Inclusives Ones and Anchors When one or more but not all of the nodes named in a One or Inclusive constraint are masked then the remaining 1 e non masked nodes must satisfy the One or Inclusive constraint Similarly none of the object nodes named in a Requires constraint may be masked when the subject state of the Requires constraint exists Constraints Statement Examples CONSTRAINTS one newname oldname MASK NOT Filename newname oldname EXCL EscKey CarrRtn PageUp PageDn HomeKey EndKey INCL Addr1 Addr2 Addr3 Req ErrorPrompt CarrRtn 118 BenderRBT Cause Effect Graphing Users Guide ANCHOR Begin Caution Constraints are the trickiest statements to use particularly when connectives are effectively buried within them In this situation use care to avoid circular logic This occurs when one can trace from an object node specified in any one constraint back through the graph and possibly through other constraints to the original constraint Be especially wary of two or more constraints of differing types e g a Mask and an Exclusive that name common nodes If circular logic is present its impact on the execution of BenderRBT is unpredictable The most common indicators of the presence of circular logic are the following e A small number of test cases with a high number of Infeasible and or Untestable variations e Test cases which have not been extended t
84. from the Uncle Mike s Ice Cream Machine example TOrder4 rbt which has been exported from BenderRBT TestDirector Public_Demo admin of x Project Edt View Plan Fus Delecis Analysis Report Administration Help 7 aa U B he Testond Copy Paste Report Filter __Refresh Clear Sort Columns Defect Help E Plan Tests g Run Tests Track Defects Category Subject X t Security a t System 5 43 User Interface S 43 Create a Three Scoop Sur 2 TEST 1 S Details j Design Steps EF Test Script E7 Attach __ Step Name Description Expected Result Step 1 ause Step 1 Caus Cause s Fy w iaa Customer deposits enough money for three scoop sundae ff mt TEST 4 F ee a anakana AOAOM A we TEST 5 Step 3 Cause s 9 Fax Order Window Flavor for scoop 1 selected t Fax Preview Window ea ee ae 4 gt Step 4 Cause s Flavor for scoop 2 selected pa Eems Eftect s Step 5 Step 5 Cause s ner as Flavor for scoop 3 selected Etfect s ae TT adeno aca Flavor for topping 1 selected Effect s Manne LEONA ON Tests Exported to TestDirector 75 BenderRBT Cause Effect Graphing Users Guide 7 4 Export to TestExplorer This feature works the same way as the export to TestDirector TestExplorer is a test management tool aimed at manual testing More information can be found about the product and the company at http www Sirius SQA com
85. g a primary cause is displayed as a light green rectangle an orphaned node i e not yet part of any relation is displayed as a white rectangle The Input Action Verify and Attribute symbols apply only to the DTT version of RBT 30 BenderRBT Cause Effect Graphing Users Guide 4 Creating and Managing Test Cases The Cause Effect Graphing process is an iterative one You generally graph review the results and tune the graph until you are sure the requirements are solid and that the graph reflects those requirements You then implement the test cases When you commit to building the executable tests you want to ensure that RBT knows that this set of tests is the one you are implementing This will allow you to protect your investment in these tests If RBT if aware of existing tests it can evaluate those tests as the requirements and graph change How much coverage do the old tests give you What new tests will you need What modifications have to be made to the old tests RBT can answer those questions for you Therefore RBT gives you a number of options in generating test cases From the main menu select Generate You will get the following screen Generate Tests for Harry Party Stmts Vars Paths Tests Run Time Previous 16 13 g 5 00 00 01 _ Pun Old Current 0 0 0 0 Run Both Revise Desc Save Tests Close Test Generation Options The Run New option will design a new set of tests based on the gr
86. g to an implicitly defined i e BenderRBT generated INT xx or explicitly defined effect node exceeds the established limit L23 Too many effects in one relation The number of effects in one Relation exceeds the established limit 10 4 Syntax or Severe Error Messages These messages alert you to syntax errors also referred to as Severe errors that BenderRBT cannot correct Each faulty statement is printed with a message suggesting the apparent error That statement is bypassed and the next statement s error messages processed An error in one statement may cause an error in a succeeding statement Because of the unprocessed statement s succeeding phases of the Design Tests process are not executable You must correct the error s in the input cause effect graph and re execute the Design Tests request Note that if the cause effect graph file was created using RBTg then many of these errors are impossible to get The properties sheets used to define the nodes edit the information as you enter it 85 BenderRBT Cause Effect Graphing Users Guide 01 Tested cause is non invokable lt nodename gt Only the states of invokable causes can be specified in test statements 02 Unable to open input cause effect graph file lt fileSpec gt The named cause effect graph file cannot be opened for processing You should check the disk drive directory path and file name specified Ensure that the file does in fact exist and
87. ge or abbreviate the node name definition S36 Null description defined for primary cause node lt nodename gt Either a true or a false description must be defined for any primary cause node in a cause effect graph 37 Missing period in Nodes statement lt statement gt A period is missing at the end of the Nodes statement indicated in the error message A period is syntactically necessary to denote the termination of each node declaration statement 39 Duplicate cause node reference in lt statement gt The same cause node appears more than once in a relations statement More specifically the same cause node cannot be repeated in a relations statement where the nodes are connected by the same relational operator Since this is syntactically and logically incorrect the Relations statement must be corrected 40 Cannot Relate the false state of an effect name in lt statement gt Only the true state of an effect node may be defined using a Relations statement Remove the reserved keyword not from the beginning of the Relations statement and redefine the relationship as appropriate 41 Previously defined effect lt nodename gt in lt statement gt A given effect can be defined by only one Relations statement S 42 Logical operator missing in lt statement gt A connective or logical operator such as AND OR NAND NOR XOR XNOR is missing from the Relations statement 43 Conditional symbol missing in
88. grouped together e Title statement Assigns a descriptive name to the current graph file The contents of the title statement are placed on the first page of each printed output report e Node statements Causes and effects are signified by node names The list of these names and their expanded definitions appear in Node statements The true or false state of one or more cause nodes in a relation in combination with the relational operator used determines the logical state of an effect node An effect node which is both a cause and an effect within a graph is referred to as an intermediate effect node e Relation statements These statements depict the logical relationships between causes and effects as indicated by the boolean relational operators and or nand nor xor and xnor connecting the causes e Constraint statements The boundary conditions which limit the invokable combinations of causes are delineated using Constraint statements e Test statements The cause state patterns of previously existing tests if any may be defined using these statements e Subgraph statements A reference to another ASCII text file containing cause effect graph statements may be included in the current input file using Subgraph statements 11 2 Statement Syntax The following conventions must be observed in BenderRBT statements Category Headers which are system defined may be entered using any combination of uppercase or lowercase letters b
89. have been repeated in the Constraints statement S 56 Extraneous information in lt statement gt A symbol having no significance in a constraint appears ahead of the period in the statement S 58 False object node state s not allowed in lt statement gt The declaration of false node states for the objects of a Mask is neither required nor allowed Only the subject node state may be declared in a Mask Constraint statement Remove the not false state declarations for each of the object nodes in the Constraints statement S 59 Subject of MASK also named as object in lt statement gt The subject node name in a Mask constraint statement has also been named as an object i e a node cannot mask itself S 60 Test name too long in lt statement gt The test name is too long in the Tests statement Shorten the test name to the maximum allowed Test names of 12 characters or less are recommended S 61 Previously defined test name in lt statement gt The specified test name was also used to identify a preceding test in another Tests statement S 62 Equal sign missing or node not referenced in lt statement gt The required delimiter between the test name and the first cause state is missing in the Tests definition statement 91 BenderRBT Cause Effect Graphing Users Guide 63 Invalid test name lt testname gt A reserved name or symbol has been specified as the test name in a Tests definition statement
90. he Party Tom Helps Out Cause states Sally goes to the party Sarah does not go to the party John goes to the party Bob does not go to the party Tom is not going to the party Effect states Harry goes to the party Notice that test is annotated as an Old Test Also note that the cause state that describes Tom is preceded by an to denote that this is a modification to the old test 38 BenderRBT Cause Effect Graphing Users Guide You also need to review the coverage of the Old Tests In this example the new graph results in 19 variations Two of them are marked as Untested e g lt NOT TESTED gt T05 Not tested via Old Test Case Definitions 9 If Sally and Bob then not Harry 2 Untested is different than Untestable Untestable means that the variation cannot be included in a test because RBT cannot sensitize the path from it to an observable point without violating constraints and or the overall graph logic Untested just means there is no existing Old Test that covers it The only way to get Untested variations is by using the Run Old option Similarly if we later found out that Tom is not going to the party after having updated our tests we can see what happens to that set of tests Causes TIF T F T T F T F F T F TFT ETT FiTITITIFIT Effects No Harry 1 F No Harry 3 F No Harry 2 F Harry obs T Harry Tests With Tom Deleted From Graph There will be no annotation
91. hich they apply The header for the Test section should be formatted as shown below TESTS Test statements must be grouped together with the TESTS header preceding the group Multiple groups of test statements are permitted as long as each group begins with a Tests header The format of the Test statement is as shown below testname NOT cause NOT cause The parts of the statement are testname Each test may or may not be uniquely identified by a user assigned name If specified the name is limited to 32 alphanumeric characters a test name longer than 32 characters results in a Severe message that terminates further graph processing The following headers and keywords may not be used as test names TITLE NODES RELATIONS CONSTRAINTS TESTS SUBGRAPHS OBS FOBS NOBS PAS EXCL INCL ONE REQ MASK ANCHOR AND OR NOT NAND NOR XOR XNOR In addition any defined node name may not be used as a test name A Test statement having any of these names causes unpredictable results when evaluating the remainder of the graph file When specified the test name must be followed by an equal sign to clearly delimit it from the cause states Cause Each cause is identified by its node name which may or may not be preceded by a NOT connective If the NOT is present then the cause state is declared as false in the test If the NOT is omitted then the cause state is declared as true in the test In general node name
92. hrough to a primary effect node 11 6 Relations Statements The Relations statements express the logical relationships between the causes and effects in the body of the graph Each statement links one or more explicitly named causes to a single explicitly named effect The header for the Relations section should be formatted as shown below RELATIONS The RELATIONS header must appear at the beginning of a group of Relation statements There may be multiple groups of Relations statements but each group must start with a Relations header The format of the Relations statement is as shown below effect cause construct PAS The parts of the statement are effect This is the node name of the single effect in the relation statement A NOT connective is not permitted ahead of this node name This symbol separates the effect from the cause construct It is equivalent to the logical if and only if This symbol consists of the colon and hyphen characters with no intervening space characters 119 BenderRBT Cause Effect Graphing Users Guide cause construct This is composed of one or more causes and zero or more logical connectives structured in one of the following ways e Cause e Not cause e Cause connective cause Any cause shown in these cause constructs may in fact be a lower level cause construct The eligible logical connective names and their meanings are NOT Logical negation which specifies that the
93. iate effects explicit plus implicit in one relation is 64 This is different from the above restriction one intermediate effect node may lead to a maximum of 64 causes The maximum number of constrained nodes is 4 096 A constrained node is tallied for each occurrence of a node name appearing within all Constraint statements e The maximum number of functional variations is not limited e The maximum number of paths generated is not limited e The maximum number of test cases old and new is not limited The above limits apply to the composite graph that is the parent graph together with all of its subgraphs If the limits are exceeded or if you wish to control the processing time required for any one graph you may adapt the graph and the execution procedures on the following ways e The number of explicit nodes can be reduced by partitioning the specification and then processing subsets of the partitions separately e The number of causes linked to an effect can be reduced by dividing the connective into multiple simpler connectives e Any complex relation statements which exceed the effect limit can be divided into multiple simpler statements e Each node specified in a constraint statement counts toward the limit even if the same node is specified in another constraint statement If this limit is exceeded the graph must be partitioned and the partitions processed independently e The number of functional variations paths a
94. in eh eee 4 2 Entering Cause Effect Graphino ucscs yacht eerie ee tics coe oyia ea yeh cgaet nei 5 3 Creating the Cause Effect Graph vais cccvassccctieshecteceamaseicevahivaly idea Serica 8 SA Creating a New RBT Piles scsi cn erena ina se EE E E iA 8 3 2 Importing Existing Graphs From Earlier Versions of RBT ceseeceeseeereeeeeeeees 9 3 3 Lhe Title Statement re a ce eas aed ca exe vee a A us av ies ees as we hw wae 11 SA Defining NOCES 5 ahini esia EAEE A R E Ea E aeaa 12 3 4 1 Node Nate roie aa E EEEE A Eae 14 JA 2 Node LOSIC acc ae gs Aes a a r A 14 JA 3 THUG State DESCON aiina an e E tela ts ES 14 3 44 False State Description saeictsseseeeodt cst ainsi waa 15 34 5 NOUS Type eara E tiers iacep da vals oasis ian 15 34 6 chstcs gis b 6 A ene pm rear a On oe ney ere E eee nO ne ry 17 3 4 7 Check OD Example Node Defimitions ccccesccessceeeeeneeceeceseeeeneesnees 18 3 5 Linking The Nodes Into A Graph ic ce ives odin lactontsdadenieasadvannsonetaaieda nweids 20 3 5 1 Selecting the Logic Symbols s ssesnsessessessseseesseeseesresseessesrrsseessesersseessessessees 22 3 6 Adding the Constraints s ss seesseesseseesseesseseessessesresseessesstsseessesstesresseeseesresseeseese 23 3 1 Adding a Notecrecnioiscire i i T a R 25 3 8 Miscellaneous RBTg Utilities ss ic tccincensassesssfetacteestvesetertoteacias wdeertatee chem Gieanlen 27 el AOU 8 aah e al a ha id la aha aie AN a hc it aie ed adh ott 27 eE
95. in their logically declared sequence i e they appear in groups of related causes followed by their associated effects for each of the test cases generated A serially assigned test case number is created beginning with the literal TEST and displayed whenever an old test case definition has not been specified When an old test case definition is being listed its defined test case name is displayed If the option to include node names has been specified for this report see the Reports gt Format Preferences then throughout the test case definitions a false node state is indicated by a not preceding the node name otherwise the absence of a not when the node name is present indicates the true state of the node 48 BenderRBT Cause Effect Graphing Users Guide TEST 7 Take An Order For Ice Cream NOR Changed to Nots With AND Cause 3s The one scoop product is available The two scoop product is available The two scoop sundae is available The B4 button is pushed The three scoop sundae is not available Effect s Option not available message displayed Cause s The reset button is hit Effect s Set the information message area to blank Script Test Case Report 5 5 Batch Test Case Definition Report For tests that are not interactive you would use the Batch Test Case Definition report This lists all of the causes followed by all of the effects for each of the test cases generated TEST 7 Take An Order For Ice
96. ine The MIL STD 498 standard for specifying tests combines the portion of the specification being tested with the test description itself While this format is a bit of a legacy item we decided to keep it as an option 4 1 1 TEST CASE Check OD 1 This is a functional test case intended to demonstrate that the requirements listed in the next part perform correctly 4 1 1 1 Check OD 1 REQUIREMENTS TRACEABILITY This test case will test the following functional requirements 1 If The customer is a Business Client OR The customer is a Personal Preferred Client and The customer has a checking account and The customer has 100 000 or more in their checking account and The customer does not have overdraft protection on the checking account and The customer has had less than five overdrafts in the last 12 months then Give the customer free overdraft protection 4 1 1 2 Check OD 1 INITIALIZATION 4 1 1 3 Check OD 1 TEST INPUTS The customer is a Business Client NOT The customer is a Personal Preferred Client The customer has a checking account The customer has 100 000 or more in their checking account The customer does not have overdraft protection on the checking account The customer has had less than five overdrafts in the last 12 months no BUNGE 4 1 1 4 Check OD 1 EXPECTED TEST RESULTS 1 Give the customer free overdraft protection 4 1 1 5 Check OD 1 CRITERIA FOR EVALUATING RESULTS 4 1 1 6 Check OD 1 TEST PROCEDURE TEST 1
97. is processed when the first Subgraph statement pointing to it is encountered the order in which Subgraph statements are executed can prove critical Therefore you must carefully locate subgraph statements in the hierarchy of graphs Refer to Maintaining a Data Dictionary of Defined Node Names on page 20 regarding the use of a Subgraphs statement to declare and use a Data Dictionary library of node name definitions Subgraphs Statement Examples SUBGRAPHS graphl2 PAS C subjspec custblg newadd 124 BenderRBT Cause Effect Graphing Users Guide 12 Additional RBT Features Not Available Via RBTg There are a few features that are available only through the API and cannot yet be accessed via the drawing facility in RBTg These are Subgraphs and Passive Another feature that can only be accessed via RBT but not via RBTg is setting up and running a Queue of graphs 12 1 Subgraphs Subgraphs allows you to break a large graph into multiple small graphs and then merge them together in the same way Include statements might be used in a programming language To ensure that the pieces link up properly you need to ensure that the node names match up across the graphs See the chapter on the API to see the syntax of the subgraphs statement One use of subgraphs is to have a master set of common nodes Then all of related graphs would include this subgraph to ensure that a given node s description was identical across all of the graphs A way t
98. it Utilities gt Preserve Tests gt Edit Old Tests This brings up the test cases so you can edit them Let us change the Test ID s from our original set of tests to something specific to the requirement We change them to TESTS Party 01 Sally not Sarah John not Bob Party 02 not Sally Sarah not John Bob Party 03 not Sally not Sarah John Bob Party 04 Sally Sarah John not Bob Party 05 Sally not Sarah John Bob Please note that word TESTS at the top is used by RBT to denote what type of data this is When you Run Old or Run Both RBT appends this information onto the input file Do not change this key word only the test case information We now run the updated graph the one with Tom added using this new version of the original tests Selecting the Run Both option the Test Definition Matrix is 41 BenderRBT Cause Effect Graphing Users Guide Harry obs T T F F Harry Tests Run Both New Test ID s Note that the new test still follows RBT s simple Test ID naming convention It is in our future enhancement list to allow the user to specify the test naming and numbering schema When you edit your tests the changes are not reflected in any of the RBT reports until you run them You need to do a Run Old or a Run Both to update the reports If you are exporting the tests to another tool e g Test Director it is critical that you rerun prior to the export If you export th
99. itimate variations that must be tested but that there is no way to sensitize the path given what is normally observable To solve this you must force the intermediate node to be observable i e create a diagnostic probe point in the code You note this by setting the Forced choice The test cases will be annotated to remind you that the test relies on a diagnostic being created 17 BenderRBT Cause Effect Graphing Users Guide 3 4 7 Check OD Example Node Definitions Now let us get back to our Check Overdraft problem The first node to create is the business client node A Node Editor e Node Name Cancel Node Logic Primay Ul Type None v Node Type Observability ume Fee Cee pas enye Test Descriptions nated Venhcaton heare DT True State The customer is a Business Client Description Business Client Node Notice that the false state is defined as blank This is because we have another mutually exclusive customer type 18 BenderRBT Cause Effect Graphing Users Guide Another node to define relates to the amount of money in the account i Node Editor __Save__ Node Name f Cancel Node Logic Primary X Ul Type None 7 Node Type Observability fe Standard Node gt Evpiicitintennediste state Ife Defaut Wbsenvable ntemediate td Test Descriptions Business Description Requires DTT Automated Verification Requires DTT True State The customer has 100 000 or more in their checking accou
100. ll be able to do will be If 31 Strong Coverage is the best we can do maybe this is not a good decision to limit the time we need The second use is to optimize the testing effort even where we do have time to create and run all of the needed tests You would use this feature to decide which tests to build and run first That will give you the greatest coverage in the shortest amount of time You can save this set of tests using Utilities gt Preserve Tests gt Save As 7 3 Export To TestDirector Mercury Interactive Corporation provides a suite of software applications that support automated software testing and project management Their TestDirector product helps you organize and manage all phases of the software testing process including planning tests executing tests and tracking defects TestDirector also provides facilities for developing the control scripts required to facilitate the automated execution of your software using their WinRunner product line Additional third party products are available which interface with the TestDirector test management tool Further details regarding Mercury Interactive s offerings may be obtained from their website at http www merc int com TestDirector maintains a project management database of tests that cover all aspects of your application s functionality To meet the various goals of a project you organize the tests from your project database into unique groups One of the basic componen
101. mitted as long as each group is preceded by a Subgraphs header The format of the Subgraph statement is as shown below fileSpec PAS The parts of the statement are fileSpec Each subgraph is identified by its file name specification If the complete drive designation and directory name s are not specified then the drive designation and directory name s of the cause effect graph file is used Do not include the Subgraph s CEG file name extension in the fileSpec Note The file extension is implicitly CEG and can not be specified explicitly since periods are reserved for use as statement terminators 123 BenderRBT Cause Effect Graphing Users Guide PAS A subgraph may be active within the scope of the test effort or passive outside the scope of the test effort Passive subgraphs serve as scaffolding for testing the subject graph Unless explicitly designated as passive by the PAS parameter a subgraph is considered active Subgraphs may in turn point to still lower level subgraphs The only limit on the number of levels in this hierarchy is established by the operating system s limit on the number of concurrently open files see Chapter 7 System Limits and available RAM A given subgraph may be pointed to by multiple higher level graphs The rule that only previously defined nodes can be referenced by Relation and Constraint statements also applies when such statements straddle multiple graphs Since each subgraph
102. n NEW Tests or Evaluate amp Design BOTH process has been requested BenderRBT encountered one or more effect nodes where a specific true false or masked state could not be determined These nodes will appear in the Definition Matrix with an I or i indeterminate designation The presence of an Indeterminate effect node in any one test case in the suite generated by BenderRBT indicates that the test definition output should be considered invalid and that the cause effect graph is either illogical or incomplete The danger inherent in accepting any of the tests in this suite is that functional variations may be reported as covered when in fact they cannot be An Indeterminate state occurs when for example all of the causes to an effect in an OR relationship are either false or masked and at least one of the causes is masked Another example is when all of the causes to an effect in an AND relationship are either true or masked and at least one of the causes is masked Typically because a cause node has been masked AND the state of any one of the other causes is not sufficient to determine the effect s state then BenderRBT s only recourse is to flag the effect node as being indeterminate Review the cause effect graph specifications and the output test cases created for completeness accuracy and reasonableness Review especially any multiple constraints affecting the same cause nodes in the graph or for any constraint upon
103. nd tests can be reduced by partitioning the specification and then processing subsets of the partitions separately There may be a limit imposed on the dynamic allocation of memory available for internal graph dependent data The specific limitation is dependent upon the operating system in use coupled with consideration of the real versus virtual RAM available If BenderRBT detects that the available memory space is insufficient for dynamic allocation an error message is generated and execution terminates To circumvent this problem you must take one or both of the following steps 82 BenderRBT Cause Effect Graphing Users Guide Increase the system s RAM size Decrease the graph size through partitioning 83 BenderRBT Cause Effect Graphing Users Guide 10 Diagnostic and Error Messages 10 1 Overview This section lists the diagnostic and error messages generated by BenderRBT describes the conditions that may be responsible for each message and suggests corrective action All diagnostic messages are presented in the following format Amn xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX where the Ann message identification prefix consists of one alphabetic character and two numeric digits and the remaining portion is a short free form description of the diagnosis or error type The following alphabetic codes are used in the identification prefix and assigned for the message types indicated Prefix CODE Message TYPE Inte
104. nerated V03 lt Infeasible gt Effect state indeterminate after MASK s applied The state of the effect node when taking into account the relational operator specified cannot be determined due to the masking of one or more of the cause nodes The functional variation is excluded from subsequent Design Tests processing i e the conditions present in the variation are not tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated V04 lt Infeasible gt Duplicates previous variation after MASK s applied One or more cause nodes in the variation have been masked The remaining cause node s are in the same state s and the effect node is in the same state as is defined by a previous functional variation which may or may not itself contain masked nodes The functional variation is excluded from subsequent Design Tests processing i e the conditions present in the variation are not tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated V05 Due to constraint s ACROSS relationships The effect state of this functional variation is not feasible given one or more constraints that have been applied to the cause nodes of this functional variation One or more constraints were applied based on the state s of one or
105. ng Run Stmts Vars Paths ME Run Time Previous 196 175 173 20 00 00 03 q s Curent 196 175 173 4 00 00 01 esr e 7 Last Run g gt This Run Cur Phase ME Run Progress Thermometer 32 BenderRBT Cause Effect Graphing Users Guide Statements is the number of statements in the generated API syntax Vars is the number of functional variations identified Paths is a construct internal to the test design engine Tests is the number of test cases designed to cover the variations Run Time for the previous run is the total time it took to completion For the current run it is the elapsed time so far 4 1 Creating a New Set of Test Cases Once you have drawn the graph you are ready to have RBT design an optimal set of test cases which completely cover all of its functionality From the RBTg graphing interface select Generate gt Run New If there are hard errors in the graph you will see the error message just as in the Change Descriptions Error example Review the Error Report to determine what you need to correct If it runs correctly you will see an update to the generate tests dialog Generate Tests for Allocate Charges Stmts Yars Paths Tests Run Time 3 00 00 01 Previous Show Statistics Curent 57 45 40 9 00 0001 Test Case s ends with a cause List Tests Untestable Functional Variations exists Infeasible Functional Yariations Must examine mod
106. nsitivity setting back to its prior state i e the state the setting was in when the input cause effect graph file was originally processed Then rerun the Revise Descriptions process until no Severe error messages are 92 BenderRBT Cause Effect Graphing Users Guide generated otherwise it is necessary to run a full Design Tests process S 91 Unacceptable change involving node lt nodename gt encountered A change has been made to the definition of the named node that cannot be accepted by the Revise Descriptions processor Refer to the discussion of acceptable versus unacceptable changes in the Revise Descriptions section in Chapter 4 Modify the cause effect graph file back to its original contents and or make further corrections as deemed appropriate Then rerun the Run Descriptions process until no Severe error messages are generated otherwise it is necessary to run a full Design Tests process S 92 Number of node names defined referenced has changed An unacceptable change to the number of nodes statements present or their subsequent reference via relations statements has been detected by the Revise Descriptions process Refer to the discussion of acceptable versus unacceptable changes in the Revise Descriptions section in Chapter 4 Modify the cause effect graph file back to its original contents and or make further corrections as deemed appropriate Then rerun the Revise Descriptions process until no Severe error mess
107. nsitizing of the effect s state 106 BenderRBT Cause Effect Graphing Users Guide 11 Cause Effect Graphing API Prior to adding the graph drawing front RBTg and previously via Visio RBT used a Prolog based text front end This is still used as an API to the Cause Effect Graphing portion of the tool The Prolog language is the basis for the notation used in the cause effect graphing language The statements used in the two languages are compared in this table Prolog Cause Effect predicates arguments nodes facts constraints rules relations goals tests A few liberties are taken in the cause effect language to simplify it for its specialized role but these do not compromise the underlying compatibility between the two languages This compatibility is not accidental both expert systems and cause effect graphs describe behaviors and both use declarative non procedural languages for this purpose Similarly we have developed a Writing Testable Requirements Style Guide which allows analysts to define their requirements in natural language e g English German while still being unambiguous and deterministic Therefore the input to one also can be the input to the other This commonality means that there is potentially a double payoff from writing functional specifications in a more formal style e Simulation of the program s behavior using some Prolog compiler interpreter to verify that this behavior satisfies the user requi
108. nt Description False State The customer has less than 100 000 in their checking account Description M Account Balance Node In this node there is a description for the false state 19 BenderRBT Cause Effect Graphing Users Guide 3 5 Linking The Nodes Into A Graph When we have defined all of the nodes to RBT we would be at this state Bus Client oR 11 Preferred Client AND Give OD checking Big Money OD Protection Few 0Ds Check OD Nodes We need to link them together Linking is always from gt to that is you link from the cause to the effect Graphs are meant to be read left to right For example you need to create a link from the node Checking to the node Give OD To do this you double click on the left hand portion of the node the yellow box When you do this the word linking will appear You then click on the target node and a line is created linking them The lines connecting the nodes are called vectors 20 BenderRBT Cause Effect Graphing Users Guide After we created the links the graph would look like this ANO Give OD Few 00s Check OD Graph We still need to adjust something in the graph Part of the rule is that you must NOT have overdraft protection already in order to get the free overdraft protection We need to change the vector from true the default to false To do this select the vector by putting the mouse on it
109. o do this in RBTg is to create a graph file which only contains nodes and their definitions When you start a new graph you just copy over the needed nodes and paste them in 12 2 Passive Passive is an attribute using PAS that can be applied to a subgraph or a relations statement It allows you to include logic in your graph that does need to be tested but through which other logic must pass RBT will not generate a full set of functional variations for anything marked PAS For example if you had an OR relationship with five causes it would generate six variations RBT would ensure that all six were in one or more tests However if it was marked PAS it might only need to use two one resulting in a true effect and another resulting in a false effect to test active relations upstream and downstream in the logic The use of Passive is consistent with testing at multiple levels e g unit test component test You might have thoroughly tested the rules represented in a subgraph at the unit level You would not have to test each variation again at the component level You just want to make sure that the handshake between the units is working and that the overall flow of the logic works across the units i e intra unit testing versus inter unit testing 125 BenderRBT Cause Effect Graphing Users Guide 12 3 Command Queue The Command Queue facility accommodates the running and printing of one or more cause effect graph ceg
110. o parse the file S10 Right comment symbol missing after lt line gt A comment is opened but not closed within the statement line S11 Left comment symbol missing near lt line gt A comment is closed but not opened within the statement line S12 Too many characters in statement following lt statement gt No single statement can exceed 4 090 characters after multiple space characters and tab characters are removed The input statement following the statement given in the message appears to BenderRBT to exceed this limit In all likelihood there is a missing apostrophe or other delimiter in the statement 13 Quotation symbol missing after lt statement gt A quotation is opened but not closed or vice versa within a given input line 14 Insufficient information in statement following lt statement gt 87 BenderRBT Cause Effect Graphing Users Guide The information in the last statement before end of file is syntactically incomplete This includes the following possible errors e a missing comment terminator e a missing statement terminator S15 Extraneous information in lt statement gt Information other than a comment enclosed within si characters follows the terminating period in the statement 16 Quotation too long in lt statement gt The quoted string is too long Shorten the quotation to no more than the maximum allowed depending on whether a Title or Nodes
111. of the cause states which precede this effect or define a test case using a Tests statement which covers the variation and reprocess the graph specifying that both Old test cases be analyzed and New test cases synthesized using the Evaluate amp Design BOTH process T14 lt Note gt There were NO TEST CASES generated For some reason there were no test cases generated during the Test Synthesis phase Review the input graph specifications Review the Relations statements given and the constraints imposed upon the graph You will typically find that two or more constraint statements are in conflict with each other i e they are establishing a logically impossible condition that prevents test synthesis from progressing through the graph Modify the input graph statements as required and reprocess this graph file T17 lt Infeasible gt Unable to sensitize the cause states BenderRBT was unable to include this variation in the suite of test cases most likely due to the imposition of one or more 103 BenderRBT Cause Effect Graphing Users Guide constraints statements upon one or more causes in the variation Examine the test cases generated If it is necessary to ensure that this functional variation is included in the test suite then it is necessary to either declare or force the observability of one or more of the cause states which precede this effect or define a test case using a Tests statement which covers the vari
112. omputer select Fonts scroll to the RBT ttf font and double click on it i e this lets Microsoft OS know that the font exists The font will then display After that the font will display properly in the Logic Diagram 65 BenderRBT Cause Effect Graphing Users Guide Logic Symbols r Choose Symbol Set Mathematical Symbols C Electrical Symbols Cancel Word Symbols Help Sample Display AND OR NAND NOR XOR NOR Symbols LAND WOR XOR ANOR Logic Symbols 6 4 New License Key This option allows you to enter a new key for RBT This would mainly be used in the case where the user had an evaluation key that was being extended or converted to a permanent key New License Key New License Key Install New Key New License Key 66 BenderRBT Cause Effect Graphing Users Guide 6 5 TestDirector Repository RBT can export the tests it has designed to the Test Planning section of Mercury Interactive s TestDirector tool In this option you define the full path name where RBT can find TestDirector The export to TestDirector will be discussed in the Utilities Chapter TestDirector Repository Setup TestDirector Repository Cancel Test Directory Setup 67 BenderRBT Cause Effect Graphing Users Guide 7 Utilities RBT has a number of useful utilities built in Selecting the Utilities pull down gives you Utilities CaliberRM Window F Preserve Tests gt Coverage Analysi
113. onds before a response is returned If any communications errors are encountered a separate dialog message is returned otherwise the CaliberRM Traces dialog box reports the identification number and title of each document in the CaliberRM repository that traces to the current cause effect graph file 80 BenderRBT Cause Effect Graphing Users Guide CaliberRM Traces to this Cause Effect Graph File RequirementName IHR Maintain Contact List 272 CaliberRM Viewer Help CaliberRM Traces 5 Click OK to close the dialog box or click the CaliberRM Viewer to view details about the requirement CaliberRM Viewer launches and displays the Requirement Viewer dialog box 81 BenderRBT Cause Effect Graphing Users Guide 9 System Limits The following are the system limits imposed by the present software design of BenderRBT e The maximum number of explicitly defined nodes is 4 090 A defined node is tallied for each cause or effect name referenced in a Relations statement A node name appearing more than once in a Relations statement or in more than one Relations statement is only counted once This count is also incremented once for each BenderRBT generated intermediate effect name INT xx e The maximum number of causes in one connective is 64 A connective may be thought of as the symbol in the Relations statement i e the connective between any effect node and its causes e The maximum number of intermed
114. ons produced it is equally important to analyze those variations with and without diagnostic messages Only you can be the judge as to whether each functional variation is consistent with the requirements specification V01 lt Infeasible gt Due to _ constraint s WITHIN relationship The effect state of the functional variation is not feasible given one or more constraints which have been applied to the cause nodes within the functional variation i e at least one of the cause states in the functional variation has placed a constraint on one of the other cause nodes within the same functional variation The functional variation will be excluded from subsequent Design Tests processing i e the conditions present in the variation will not be tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases generated V02 lt Infeasible gt ALL causes in this variation are MASKed All of the cause nodes in this variation are in a masked state therefore the state of the effect node cannot be determined 97 BenderRBT Cause Effect Graphing Users Guide The functional variation is excluded from subsequent Design Tests processing i e the conditions present in the variation are not tested Verify that it is reasonable and consistent with the requirements specifications that this combination of node states be excluded from the test cases ge
115. onstitute the description that begins all of the reports generated by BenderRBT for a given graph Although the description may be up to 250 characters adherence to a more practical limit of 60 characters or less results in a single title line description appearing at the top of each printed report The description must be enclosed by a pair of single quotation marks Any ASCII characters except single quotes may be used within the description Finally the description and its enclosing quotation marks must be contained in whole within a single input line Title statement examples TITLE SAVE command TITLE 110 BenderRBT Cause Effect Graphing Users Guide 11 4 Nodes Statements The Node statements define the nodes that are explicitly depicted in a graph The header for the Nodes section should be formatted as shown below NODES Node statements must be grouped together with the NODES header being the first one in the group Multiple groups of Node statements are permitted as long as each group is led by its particular Nodes header The format of the Nodes statement is as show below Case 1 nodename true state description OBS FOBS Case 2 nodename true state description B OBS FOBS Case 3 nodename true state description false state description OBS FOBS The parts of the statement are nodename This is the shorthand name given to the node It is composed of
116. or Constraints statement that are primary causes W65 Undefined node name in TESTS statement lt nodename gt The named node has been referenced in a Tests statement but not defined using a Nodes statement The named node is not included in any subsequent test case definitions W74 Subgraph filename expanded to lt fullFilenameSpec gt The full device directory and file name specification for a file referenced in a Subgraphs statement is displayed Ensure that the device and directory name s displayed are the intended specification 96 BenderRBT Cause Effect Graphing Users Guide W9I Ran Revise Descriptions using input modified lt date time stamp gt For audit trail purposes only the date and time that this file was subjected to the Revise Descriptions process is recorded in the Graph Errors report 10 6 Functional Variation Report Messages Interspersed throughout the Functional Variations listing may be any number of diagnostic messages Any messages that appear having a Vxx identification code typically reports that a variation has been flagged as infeasible Another series of diagnostic messages appearing in the Variations listing as well as the Batch and Script Test Case Definitions carry a Txx identification and are documented following this section Any Vxx messages that appear immediately precede the functional variation to which the message applies Note When reviewing the list of functional variati
117. ou do not see how the data was processed i e the internals are logically defined in terms of what happens not how See also white box view A qualified condition which leads to an effect i e an input In a compound relationship a set of two or more causes which use the same relational operator i e the causes listed between parenthesis in a compound Relations statement The true false or indeterminate state of any given cause as it exists in the functional variation being evaluated A notational convention for representing the relationships and conditions present in a requirements specification this may be accomplished via declarative statements in a text file and or pictorial graph representations Any Relations statement present in an input cause effect graph file that uses two or more different relational operators Synonym for relational operator and logical operator AND OR NAND NOR XOR XNOR and Negation The object node s in a Mask or Requires constraint A qualification placed upon cause effect graph relationships in order to limit or preclude certain combinations due to input boundary conditions The result of one or more qualified conditions or causes i e an output The true false or indeterminate state of any given effect as it exists in the functional variation being evaluated A node that has been defined using a Nodes statement and referenced in a Relations statement 130 BenderRBT C
118. own Menu Most of these reports are also accessible via buttons across the top of the screen E MD N Reports Buttons The Cause Effect Graph report C is the API version of the graph created in RBTg The Graph Errors report E identifies any problems with the graph These may be just at the warning W level They may also be at the severe S level in which case the graph did not compile into tests The Functional Variations report V lists all of the functional variations for the graph and their status e g infeasible untestable The Script Test Definitions report S is the set of tests presented as an interactive dialog of causes and effects 44 BenderRBT Cause Effect Graphing Users Guide The Batch Test Definitions report B is the same set of tests with all of the causes listed then all of the effects The Coverage Matrix M identifies which variations are included in which test cases The Definition Matrix D identifies the state of each of the nodes in each test case i e true false or masked The New Tests report N shows what RBT will save if you ask it to remember your tests The Test Statistics report T know internally as the Golly Gee Wiz report gives you statistics about your graph and the tests The Logic Diagram L is another view of the graph drawn by RBT from the graph input This is useful if you are entering your graphs via the API and not RBTg The Program Data report contains all of
119. pear in the test case listings B BenderRBT generated references to any false state conditions for a node name appearing in the test case listings may be suppressed entirely by specifying the B bypass or blank option instead of a false state description A lowercase b specification produces the same results regardless of the current case sensitivity setting Note In any test case definition where all of the nodes named in an exclusive Constraint are specified to be in their false state BenderRBT overrides any B declarations present In this situation BenderRBT prefixes the true state description with the word NOT for each of the nodes named in the Exclusive Constraint OBS Primary causes nodes that are not also effects and primary effects nodes that are not also causes are implicitly observable Intermediate effects nodes which are both a cause and an effect may be explicitly designated as observable effects by specifying the OBS parameter An intermediate node should be flagged as observable only when the node represents an effect which can be observed such as data displayed on a screen an update to a database than can be verified output printed on a report or a packet being sent in a communications program FOBS Intermediate nodes that are not normally observable effects but must somehow be represented as observable in order to test the system s logic may be designated as a forced observable effect by specifying the FOB
120. pears to be illogical and subsequent results are unpredictable Note this condition may be designated as a Severe condition in a future release of BenderRBT requiring modification of the input statements prior to running subsequent phases Reevaluate your input graph definition statements and adjust as required Specifying a Requires constraint where the subject node is not a primary cause may lead to unpredictable and undesirable test case output definitions W25 Relation defining lt nodename gt moved internally to precede its first reference as a Cause Although desirable it is not required that all relations statements be defined in their logical sequence of occurrence BenderRBT has internally reordered the Relations statement for the named effect node since it was placed after another relations statement that referenced the named node as a cause W26 ANCHOR node declaration for lt nodename gt ignored not a Primary Cause The named node may have its state anchored using a Constraints statement only if it is a primary cause A node which appears to be a primary cause only within the scope of the cause effect graph file in which it is defined may in fact be an intermediate effect when the file is included as a subgraph within the scope of a master cause effect graph file The named node does not have its state anchored as requested in the Constraints statement This fact does not adversely effect other nodes named in the Anch
121. r E construct generate implicit nodes These must be made explicit prior to import Note that in the Visio version implicit nodes are impossible to create You would have to restructure this into Il BorC I2 DorE A Il and I2 You would also have to add Il and I2 to the node list These are called Explicit Intermediate nodes 10 BenderRBT Cause Effect Graphing Users Guide 3 3 The Title Statement The first thing to do is to enter a Title for the graph The information in the Title will be used in the header of all of the reports generated by RBT This allows you to trace back the generated information e g test case descriptions test coverage matrix to the graph from which they were derived One guideline to follow is to enter in the name of the function and its version number as the Title Then if the requirement is updated you will know which version was used to create the graph and the tests The Title statement may be up to 1020 characters long and contain any character except the single quote The constraint is a limitation imposed from the API discussed above In this case we will give our graph the Title Check Overdraft Protection bY Bender RBTg Zoom 100 alal 4 e za f Title Check Overdraft Protection Bender RB Filling in the Title 11 BenderRBT Cause Effect Graphing Users Guide 3 4 Defining Nodes You are now ready to start adding in the nodes To add a node place the cu
122. r enclosing two or more cause nodes in parentheses Since the intermediate node is implied to exist it is implicitly non observable If it is necessary to ensure that this functional variation is included in the test cases then it is necessary to explicitly create an observable intermediate node and break the original compound relationship into two or more simpler relations statements T04 lt Untestable gt Due to non OBServable effect s or unable to sensitize BenderRBT was able to extrapolate the effect state of the functional variation but was unable to fully sensitize a path containing this variation in any of the test cases This condition will either occur due to observability issues or a combination of node states being sensitized that does not match any of the functional variations defined Examine the test cases generated If it is necessary to ensure that this functional variation is 100 BenderRBT Cause Effect Graphing Users Guide included in the test cases then it is necessary to either declare or force the observability of one or more of the cause states that precede this effect or define a test case using a Tests statement that covers the variation and reprocess the graph using the Evaluate amp Design BOTH process T05 lt Not tested gt Not tested via OLD Test Case Definitions This message appears only when analysis of Old test cases i e those defined using tests statements on the input graph file is requ
123. rements for the program e Analysis of the behavior and synthesis of the test specifications using the BenderRBT system to verify that this behavior is correctly implemented in the program s code If both of these payoffs are realized the cost of expressing the functional specification in a formal language is not borne by the program test activity alone but is shared with the program design activity A number of Prolog compilers interpreters are available each one using its own variant of the Prolog language The cause effect graphing language is a close match to the generic Prolog language though some minimal translation may be required to generate it from a particular Prolog variant 107 BenderRBT Cause Effect Graphing Users Guide 11 1 Statement Types A cause effect graph with or without a test library is entered into BenderRBT using an ASCII text file You may select the prefix of this file but the file extension must be CEG This file consists of a stream of lines of text Each line contains either a portion of or all of a statement in the cause effect graphing language One statement may span multiple lines but no one line may contain multiple statements The following types of statements are used to define cause effect graphs as well as any existent tests of those graphs e Category Header statements Declares the type of statements that are to follow this statement Statements that fall within any one category must be
124. rnal errors Limit errors statement Syntax or Severe errors statement Warning messages Infeasible Variations Infeasible and Untestable Variations and other messages H lt sure 10 2 Internal Error Messages Ixx lInternal BenderRBT engine failure It is possible but unlikely that an error message having an identification code starting with I may be generated at any time during a Design Tests process Good software coding standards call for an ELSE clause to be associated with every IF THEN conditional statement The occurrence of an Internal BenderRBT Engine Failure message indicates that there is a problem with the engine run processor s internal logic 84 BenderRBT Cause Effect Graphing Users Guide If you encounter one of these messages you should contact Bender amp Associates as listed in Appendix A Further run processing is terminated 10 3 Limit Error Messages These messages indicate that some programmed system limit has been exceeded See Chapter 7 System Limits for a definition of the established limits and the possible corrective actions when a limit is exceeded Following any appropriate changes to the cause effect graph file a Design Tests function must be rerun L20 Too many explicit nodes at lt nodename gt The number of explicit nodes exceeds the established limit The last node name processed is shown in parentheses L22 Too many causes in one connective The number of causes leadin
125. ronment must be established and working prior to attempting to link with it from a BenderRBT application The primary link between BenderRBT and CaliberRM is the fully qualified file name of the cause effect graph file For every requirement managed by CaliberRM references to one or more cause effect graph files may be recorded on the references tab Note Since the fully qualified cause effect graph file name includes the device identification e g the R portion in the fully qualified file name R icecream Menu ceg it is necessary for the cause effect graph files to reside on a shared network device which is accessible by all users using the same device identification In more technical terms the device must be mapped to the same identification letter Within BenderRBT users are able to e display a list of CaliberRM requirements that are linked to an open ceg file e launch the CaliberRM Viewer e launch CaliberRM e drag a requirement from the CaliberRM requirement tree and drop it in an open ceg file in BenderRBT to create a traceability link between them 78 BenderRBT Cause Effect Graphing Users Guide Start CaliberRM To launch CaliberRM from within BenderRBT 1 Select CaliberRM gt Start CaliberRM from the menu or click the Blue Start CaliberRM button on the toolbar 2 The CaliberRM application is started 1 Business Requirements WHY H 2 User Requirements USER 3 Functional Requirements
126. rsor in the white working space and right click on the mouse A dialog will appear giving you a number of choices including Add Node Add Node Ctrl N Add Constraint gt Save Ctrl S Save As Ctrl E Add Note Ctrl T Find Ctrl F Find again F3 Copy Ctrl C Paste Ctrl V Generate Reports Exit Add Node When you select Add Node a new node will appear on the screen Noden New Node 12 BenderRBT Cause Effect Graphing Users Guide Double click on the white portion of the new node and a dialog will appear in which you define its properties A Node Editor Save J Node Name NodeO01 Cancel Node Logic Primary 7 Ul Type None Node Type Observability e Standard Node Default C 5 Test Descriptions True State Description Node Editor The Node Editor dialog contains a number of fields for the user to fill in Node Name Node Logic True State Description False State Description Node Type and Observability Note There are additional fields in the dialog UI Type Business Description Automated Verification that are active only if Direct To Test DTT is installed DTT is an add on which extends the capability of RBT to include generating the actually executable test scripts It can generate running scripts in WinRunner SILK ROBOT and other playback tools DTT falls under the general category of a Framework tool 13 BenderRBT Cause Effect Graphing Users Guide 3 4 1 Node N
127. rt ss sssssssssessesssssessessrssressesstssresseeseesresseeseese 49 5 6 Coverage Matik rannin an duh ted a e E R T a ek 50 Del Defimtion Matix renen aaae ea ee a oa dee E NTa 51 BenderRBT Cause Effect Graphing Users Guide 5 8 NeW TESTS REDO uriini a E ice E A a 52 5 9 Test Statistics REPOrt crniiin a E tar A T E e a hee 53 5 10 Logic Diagram Reports sass iescas sche Qieteit aioaci ides a E taupe Attra edu Aiasee bate 54 Sl Program Data Report aran ccna yacatanss atau a ao ugy sauces vase ie eo tenses ceo E A 55 5 12 Capture Playback Repottccsssisasisosiiennconn Meee lan a ens 57 5 13 Functional Specification Report ssssssesseseesseosseseessressessrsseessessrssresseeseesresseeseese 58 SIA MIL STD 4987 niera a e E a AEE E O A 58 5 15 OMA Preferences rynni eea e e a a as ee a a cit relates ctl 60 5 16 Exporting The RBT Reports 12 054 c dccscacest cause ltacsasleu jy aacen se sceate eeeesensasouiyoennts 60 5 17 Printing Multiple Reports serrera a aa a aiiai 61 6 Options iain e E E E GERE E abet O a A 63 SE COLORS e sree ahaa a a e a a E aa A 63 6 2 Fontans a ote Aa e AS a A E E A yea at de eal 65 6 3 Logic Symbols mann a a a a a Eaa aaa a a S 65 6 4 New License Key ansins paia R E O a AEO AR TASEA 66 6 5 TestDirector Repository wae cuay in a a a E 67 Te METAS St e iea a a eaa e a a a E e aeaee 68 PI Preserve CS Ue Be aay et sss tania eat nh a a A a hirer oe Sata 68 T2 Coverages Analysis eeraa ee a a R a ates eileen 68
128. rt the ceg file into RBTg as discussed earlier Nodes are placed on the diagram under the control of internal programmed logic with an attempt made to minimize any occurrence of unrelated vector lines crossing over other relational operator vector junctions There is no provision for the user to modify the placement of nodes Any one of three symbol sets can be used to graphically depict the relational operators on the Logic Diagram Any nodes named in a constraints statement are annotated below the node name on the Logic Diagram using the following abbreviations the false state of the node is specified in the Constraint M gt the node is the subject of a Mask Constraint gt M the node is an object of a Mask Constraint 54 BenderRBT Cause Effect Graphing Users Guide R gt the node is the subject of a Requires Constraint the node is an object of a Requires Constraint the node is named in an Exclusive Constraint the node is named in an Inclusive Constraint the node is named in a One and only one Constraint the node is named in an Anchor Constraint m v gt O y For example the annotation M gt indicates that the false state of the node is the subject of one or more Mask Constraint s Bi buttor one scoopO A un avail blank msg oo z M gt p Bi_ms reset_hit gt R I gt M two_scoop o B2_ms R gt SR I e sundae_two0 i ms B3 R gt SR I a sundae_threed o B4_ms R gt I Logic Di
129. s Export to TestDirector Export to TestExplorer Utilities Preserve Tests accesses the options for maintaining the test cases designed by RBT This has already been discussed in the chapter on managing tests Coverage Analysis allows you to evaluate your test status based on what tests have passed or failed It also allows you to optimize your overall test planning Export to TestDirector exports the RBT designed tests to Mercury Interactive s test management tool Export to TestExplorer exports the RBT designed tests to Sirius SQA s test management tool 7 1 Preserve Tests See Chapter 4 Creating and Managing Test Cases 7 2 Coverage Analysis The Coverage Analysis utilities can do two things First they can calculate what the coverage is for any subset of the tests Second they can determine what the optimal coverage is for any subset of the tests There are two coverage measurements used by RBT Weak Coverage and Strong Coverage Weak Coverage If a functional variation was included in one or more test cases that were successful then it is considered covered under Weak Coverage Strong coverage If all of the functional variations for a given operator were in one or more successful tests then they are all considered covered under Strong Coverage 68 BenderRBT Cause Effect Graphing Users Guide However if one or more of the variations from a given operator was not in any successful test then non
130. s in the suite of tests generated Review the cause effect input graph specifications and the output test cases created for completeness accuracy and reasonableness Review especially any multiple constraints affecting the same cause nodes in the graph T80 Note Invalid llogicalincomplete input definition Test Case lt testname gt contains Indeterminate effect state s On completion of the Test Synthesis phase when either the Design NEW Tests or Evaluate amp Design BOTH process has 104 BenderRBT Cause Effect Graphing Users Guide been requested one or more effect states in the named test case have been declared Indeterminate The presence of Indeterminate and or blank effect nodes in any one test case in the suite generated by BenderRBT indicates that the test definition output should be considered invalid and that the cause effect graph is either illogical or incomplete The danger inherent in accepting any of the tests in this suite is that functional variations may be reported as covered when in fact they cannot be Review the cause effect graph specifications and the output test cases created for completeness accuracy and reasonableness Review especially for any downstream effect nodes which are not masked yet the upstream effect node is masked T81 Note Invalid llogical input definition Test Case lt testname gt contains Indeterminate effect states On completion of the Test Synthesis phase when either the Desig
131. s iscas E tea tact tal aa int 123 12 Additional RBT Features Not Available Via RBTg sssssessesssssessessresresseesresressee 125 121 SubgiaphS ena ara aaan EE AE AES RETSAG 125 12 2 Passiven rana tase ay aaa a a a a ial a e a a e aE 125 12 3 Command Quetta ia a E iad ae USAR a E 126 Glossary of TEMS airin ga ret a iE Ct T E Pees halal O TA O ha R 130 BenderRBT Cause Effect Graphing Users Guide 1 Introduction There are two challenges in designing a good set of tests for software 1 you need to minimize the number of tests while still providing strong coverage and 2 you need to ensure that you are getting the right answer for the right reason For even a relatively simple system the number of possible test suites actually exceeds the number of molecules in the universe which is 10 according to Stephen Hawking in A Brief History In Time The key challenge then is to select an infinitesimally small subset of tests which if they run correctly give you a very high degree of assurance that all of the other combinations permutations will also run correctly The issue in ensuring that you got the right answer for the right reason involves the fact that two or more defects may cancel each other out under some circumstances You get the right answer for the wrong reason To solve this tests must sensitized to ensure any defects will be seen at an observable point The Cause Effect Graphing test design engine portion of BenderRBT
132. s should have been defined previously in Node statements and referenced in a Relations statement however some node names may fall outside the scope of the subject graph and yet be valid names in the context of some corollary graph 122 BenderRBT Cause Effect Graphing Users Guide BenderRBT issues a warning message listing any undefined node names in a Test statement but does not reject the statement Each cause must be directly invokable that is it must be a primary cause since intermediate nodes are not directly invokable BenderRBT rejects any Test statement that specifies a non invokable cause In a hierarchy of graphs Test statements typically are appended to the graph at the top of the hierarchy though they could appear at any level In any case all old tests are applied to the composite graph not just to the graph in which they are defined Thus the restriction on specifying only directly invokable causes in Test statements is enforced using the primary causes of the composite graph Test Statement Examples TESTS FirstName not Mid Init LastName mytest FirstName Mid_Init NOT LastName NOT LastName 11 8 Subgraph Statements Subgraph statements identify the object graphs to be integrated with the subject graph The header for the Subgraph section should be formatted as shown below SUBGRAPHS Subgraph statements must be grouped together following the SUBGRAPHS header Multiple groups of Subgraph statements are per
133. se descriptions is primarily based upon their sequence of definition within Relations statements not based upon their sequence of definition using Nodes statements The Relations statement for each effect node should appear in sequence ahead of any subsequent Relations statements that reference the same effect node as a cause node Refer to the topic Relations Statements later in this section for a further clarification of this rule True state false state description The meanings of the true and false states of a node may each be separately specified in a free form description enclosed by a pair of single quotation marks Any ASCII characters except single quotes may be used within the description Any primary cause node must have at least a true state or a false state description defined that is other than null or B Except for primary cause nodes node name descriptions are optional however if any description is provided then an equal sign must separate the node name from the true state description provided If both descriptions are completely omitted then the node s name is used for the true state description and the NOT nodename sequence used for the false state description A null description may be indicated by using two consecutive single apostrophes e g Nodename and this circumvents BenderRBT s substitution of the node name for the description A node s true and false state descriptions may each con
134. stE xplorer TestExplorer Project Uncle Bob s Ice Cream Machine w New Test Plan Name Select a Desserl Test Description Format Script Batch EXPORT Test Cases Cancel Help Export to TestExplorer Dialog Once the tests have been exported you can now find them in TestExplorer Opening up the project and selecting one of the tests will show 76 BenderRBT Cause Effect Graphing Users Guide TestExplorer C Program Files TestExplorer Suite Projects Uncle Bob s Ice Cream Machine Tests Select a Dessert TEST 7 File Edit Insert Test Reports Tools Help DG tte SOP a OS AREF GAREM A Crete SA4B O f ta M Test Output Screen Details User Defined Fields Histograms System Info Test Detail Charter a Test Status Creation Date Execution Status X 5 3 2006 Not Run Tester Last Run Date Last Version Tested Bender RBT Risk Priority Product Description Arial zie J BIU aaa QO TEST Take An Order For Ice Cream NOR Changed to Nots With AND Improving Function Spec Cause s The one scoop product is available The two scoop product is available The two scoop sundae is available The B4 button is pushed The three scoop sundae is not available Effect s Option not available message displayed Cause s The reset button is hit Effect s Set the information message area to blank RBENDER UNCLE BOB S ICE CREAM MACHINE
135. sting and everything is looking great Only one more test to run and we are ready for production However when we enter the fourth test with all inputs false and still get D true then we know we have a problem 69 BenderRBT Cause Effect Graphing Users Guide A as B as D ZND D I Figure 3 Variable B Stuck True Defect Found By Test Case 4 as ON O woww w O Using this example after we had run the four tests we would have had a Weak Coverage of 75 Three out of the four variations were in tests that appeared to be successful However we would have had a Strong Coverage of 0 since all four variations were not in a successful test Strong Coverage is what should be reported to Management to make Go No Go decisions about releasing software Selecting the Coverage Analysis Utility will bring up the Coverage Matrix and a dialog showing the calculated coverage 70 BenderRBT Cause Effect Graphing Users Guide vY A R I TITITITITITIT A EJEJEJEJEIEJE t SISISISISISIS TITITITITITIT N bid bid bid fail Guid Guid bi 141213414151617 1 FAB BRB DB Coverage Analysis 2 YL x x x x 3 Taig 100 63 4 BOREAS Select All 5 ESS ES ES Es Strong Coverage EE 6 illli f 2219 10 15 Help i ENTERA Note Select Any ONE Test Name E zjz z SHIFT Select RANGE of Test Names 9 PM ee CTAL Select MULTIPLE Test Names 10 HEH Hl a CoC _Fewer Tests gt gt 12 He 8B 13 z
136. t see also consequent An effect whose true and false states can be seen detected and verified The optional PAS node definition or subgraph designation used to declare the node or subgraph as being outside of the desired scope of testing used to differentiate the normally active node or subgraph portions of a graph from the inactive i e passive portions of a graph A node that is not also an effect of one or more preceding causes i e the beginning or entry point node s in a cause effect graph A node that has no subsequent effects i e the final or exit point node s in a cause effect graph When the sensitized state of one or more causes results in the sensitizing of two or more logical paths through a graph which at some point converge at a common intermediate or primary effect Synonym for connective and logical operator AND OR NAND NOR XOR and Negation requirements specification The document which defines in user terminology what the sensitize sensitized state system should do Aliases functional specification external specification logical specifications To establish the true false or indeterminate state of a node The true false or indeterminate state of a node was established by normal test case synthesis 132 BenderRBT Cause Effect Graphing Users Guide strong coverage Within the context of the Coverage Analyzer Utility strong coverage is tallied only for those functional vari
137. t of multiple lines but the total of all characters in a multiple line statement cannot exceed 4 090 characters Blanks and tabs used for indentation or padding as well as carriage return and line feed characters contribute to input line length but do not contribute to statement length e Comments may appear anywhere within the series of statements which define a graph Any comment preceded by the characters must be followed by the characters A comment which is delimited by the and pair may span multiple lines A comment preceded by the characters is terminated at the end of the current text line which means that it must be contained in whole within that one line A comment may appear on a line by itself or placed at the end of a normal statement line Comments are ignored by BenderRBT and do not contribute to statement length 11 3 Title Statement The Title statement assigns a descriptive name to a particular graph A Title statement should be the initial statement in the stream of statements that define a graph For each graph only the first Title statement is used any subsequent ones are ignored This permits inclusion of subgraphs without overriding the title of the parent graph The format of the Title Statement is as shown below TITLE description The parts of the statement are TITLE The keyword TITLE must be the first word in the statement description The optional words that follow TITLE c
138. t s or unable to sensitize The state s of one or more cause nodes within the variation are not observable therefore the state of the effect node cannot be validated i e if there is a flaw in the logic associated with the non observable cause state s then the true false state represented by the faulty node cannot be relied upon Any intermediate effect nodes synonymously referred to as cause nodes for the current functional variation whose true false state are verifiable during any test case scenario by virtue of their observability should be annotated with the OBS designation in their node definition statements Examples of observable nodes are a field displayed on a terminal a record data field whose contents can be printed or viewed after a test has been run in short any processing event that can be observed to have occurred or conversely to not have occurred Any node which is not actually observable but which you would like to force its observability to create a test case that includes this variation should be defined using its node definition statement using the FOBS forced annotation T03 lt Untestable gt Need to create EXPLICIT OBServable intermediate node A non observable BenderRBT generated intermediate node i e the node name appears in the format INT xx has been created due to a compound Relations statement i e one having two or more different relational operators that has necessitated the need fo
139. t used in graph lt nodename gt The specified node is not referenced by a Relations statement It would be prudent though not essential to delete the Nodes definition statement which defines this node When a data dictionary of node definitions is being used this message is informational only W03 Defined node is redefined in graph lt nodename gt The specified node has been defined via nodes statements more than once in the cause effect graph file stream Ensure that the last definition for the node name listed in the message is the desired definition When a data dictionary of node definitions is being used the node listed confirms that this node has been overridden W04 Can intermediate node be observed lt nodename gt The specified node is an intermediate cause from which fanout paths later reconverge at an effect It would be prudent though not essential to directly observe the states of this node in order to minimize the likelihood of untestable variations Observability of intermediate nodes can be specified using the Nodes definition statement by adding either the OBS or FOBS keyword to the node definition statement for this node If this is done the Design Tests process must be re executed WI19 TITLE statement Description field missing or misplaced The quoted description field is either not included in the title statement or it is misplaced i e there are other characters between the title keyword and the des
140. tain as many as 4 090 characters If it is longer a Severe error message is generated and further processing terminated It is recommended that descriptions be held to a maximum of 60 characters i e one line of print If you must declare descriptions which exceed 60 characters then it is necessary and desirable to span statement lines in order to successfully declare the long description string To span multiple statement lines when declaring a long node description do not terminate each statement line with a closing apostrophe Simply terminate the line with a carriage return and continue the description on the next line Note that any leading white space if any on the continued line is included in the description When specified the false state description must be separated from the true state description by the vertical bar character 112 BenderRBT Cause Effect Graphing Users Guide When a true state description is provided and a false state description is not provided BenderRBT prefixes any references to the false state condition with the word NOT in front of the true state description provided unless the B option see below is specified When a null true state description is provided 1 e two consecutive single apostrophes are used and a false state description is provided and references in the test case listings to the true state of a node are suppressed In this case only the false state descriptions provided ap
141. tetitateatetetatetetetatitetetetetetetetitetetetitetetet 1 IF The customer is a Business Client OR The customer is a Personal Preferred Client AND The customer has a checking account AND The customer has 100 000 or more in their checking account AND The customer does not have overdraft protection on the checking account AND The customer has had less than five overdrafts in the last 12 months THEN Give the customer free overdraft protection ELSE Do not give the customer free overdraft protection KEE a a a a a a a a a a a In addition the following constraints must be applied to the above specifications 1 WHEN The customer does not have a checking account THEN the following condition s are Indeterminate The customer has 100 000 or more in their checking account The customer has overdraft protection on the checking account The customer has had less than five overdrafts in the last 12 months 2 At most ONE for NONE of the following conditions may exist The customer is a Personal Preferred Client The customer is a Business Client Functional Specification Report 5 14 MIL STD 498 The United States Department of Defense had a series of standards for the overall development process down to the format for test cases At one time there was 2167A This was superseded by 498 Currently most military projects follow the IEEE standards 58 BenderRBT Cause Effect Graphing Users Guide RBT s standard reports conform to that guidel
142. that there is no operator precedence implicit within the cause effect graphing language For example the relationship X A OR B AND C is potentially ambiguous therefore it must be qualified using parentheses as in X A OR B ANDC or X AOR B AND C Superfluous or unnecessary parentheses are not accepted by BenderRBT on the basis that it may indicate the presence of a partially formed relations statement For example the following statement although logical is not accepted 120 BenderRBT Cause Effect Graphing Users Guide X A and B and C and D Note Relations statements are evaluated from top to bottom i e in the sequence in which they are defined and an internal list of node name references is constructed based on a logical sequencing of cause and effect nodes It is considered to be good statement coding practice to declare your Relations statements in a logical sequence 1 e an effect node name declared in any one relations statement should appear before the same nodename is again referenced as a cause node in a subsequent relations statement Note however that BenderRBT resequences its internal list of node names as required to adhere to the requirement of the foregoing sentence A given cause may appear more than once in the same statement when more than one relational operator is used For example the following statement is acceptable XYZ A and B or C and not B or D and B Node names used in
143. that this folder name must not match any previously existing test plan name in the Subject Folder of the Project specified In other words there is no test plan facility 74 BenderRBT Cause Effect Graphing Users Guide provided by BenderRBT only an add facility Facilities provided by TestDirector may be used to accomplish the deletion renaming copying and moving of test plans When entries have been made in the minimum required fields in the dialog then the Export Test Cases button will be activated When you select this button a connection to the TestDirector database is made and the BenderRBT Script test case definitions are exported to the named test plan folder This process requires ten to fifteen seconds of processing time or more depending upon the speed of the processor the size and number of the script test case definitions and the overall size of the TestDirector database If any problems are encountered during this process a diagnostic message containing a statement of the problem is presented Warning When you export your tests to TestDirector a folder will be created Your TD privileges must be set up in such a way that you are allowed to create folders Otherwise the export will fail When it does fail for this reason TestDirector does not give back any specific return code that allows us to assist you in debugging the problem The following is an image of the TestDirector application displaying one of the test plans
144. traint s and or the overall graph logic These will be identified on the Functional Variations Report see Reports Section Review each one to ensure that it is legitimately infeasible If the variation should be feasible there is either a problem with the graph or a logic error in the Requirements Specification which the graph was derived from Must examine model error report Running the graph resulted in one or more items on the Errors Report see Reports Section If the graph ran to completion these are mostly warning messages You can see the report by hitting the Show Errors button or via the Reports button on the main menu 4 2 Saving Your Tests After you have reviewed your tests and are ready to start implementing them you want RBT to remember this set of tests The objective is to protect your investment in these tests It generally takes three to five times the effort to build an executable test than it does to design the test By having RBT remember this set of tests you do not have to start all over again when you change the requirements and update the graph The first step in this process is to save the tests you have designed and are preparing to implement You can do this in one of two ways From the RBTg graphing interface select Generate gt Save Tests This will bring up a standard save dialog asking you what you want to call the file containing the test definitions and where you want to save it RBT saves it as a
145. ts of TestDirector s management of the testing process is the test plan A test plan identifies the objectives to be accomplished when testing your software A test plan may be broken up into multiple steps with each step containing a description of the step and its expected results After a test plan has been developed a TestDirector Generate Test Script facility may be utilized to generate a skeleton script which is used to control the test execution of the software The script test case definitions generated by BenderRBT may be directly exported to a TestDirector test plan The test plan then may be converted to a skeleton test execution script On further instrumentation of the script with the code necessary to execute and validate the tests based on the cause and effect conditions specified a suite of tests will be available to you containing the minimum number of tests necessary to validate the defined functionality of your system 73 BenderRBT Cause Effect Graphing Users Guide If the TestDirector facilities are accessible to you from your system BenderRBT is able to locate and communicate with the TestDirector database When errors are encountered communicating with the TestDirector database one or more diagnostic messages are presented to help you resolve the communication failure The Export to TestDirector command on the Utilities menu is not enabled unless there are script test case definitions available for the active cause effect
146. ut are not covered by any of the test cases generated are flagged as either infeasible untestable or untesed These variations are highlighted by a unique color The sets of functional variations generated for each relations statement are separated by a bold horizontal bar on the displayed matrix 5 7 Definition Matrix The Definition matrix is a compact depiction of the state of the causes and effects for each test case For each test the node states should be either true T false F or masked M Node names are listed in rows and test case names in columns In the upper half of the matrix each of the graph s primary causes is listed followed by their respective node states in each of the test cases In the lower half of the Definition Matrix each effect node name and its state is listed Any observable or forced observable intermediate node is denoted by the appearance of the legend OBS or FOBS respectively All primary effect node names which are implicitly treated as observable are designated OBS Ase MH Fs Jee FA Causes Bi button T F F F F F F Bl msg a fa a at 9 BZ button FIT T F F F F mareg TENET TITT B3_button F F F T T F F B3 _ msg TEENE at OD B4 button F F F F F T T B4 msg T T F T F TIF reset hit MiMi T M F M T Effects pne scoor jae TEE EEEE two_scoop lt 0B5 gt F TF F F F F sundae_twoj lt 0B3 gt F F F T F F F sundae three lt OBS gt F FF F F T F un _ avail lt 0OBS gt F F T F T F T blank
147. ut may not be abbreviated In this chapter Category Header statements are shown in all uppercase letters 108 BenderRBT Cause Effect Graphing Users Guide e Keywords which are system defined may be entered using any combination of uppercase or lowercase letters but may not be abbreviated In this chapter statement keywords are shown in all uppercase letters e Node names Test names and File names which are user defined may consist of any mix of these characters A through Z a through z 0 through 9 and the seventeen characters 3 amp lt gt The following fifteen characters may not be used 3 Note that uppercase and lowercase letters may or may not be distinctive depending upon the current setting of the Case Sensitivity check box in the Run menu Node names should not be used as Test names and vice versa As BenderRBT may be unable to distinguish between the two uses unpredictable results will occur References to example Node names Test names and File names appear in this chapter e Each statement whose syntax definition appears in this manual enclosed within brackets may or may not contain the enclosed term s at the discretion of the user e Each statement whose syntax definition appears in this manual following an ellipsis may have the term preceding the ellipsis repeated any number of times e One or more blanks are required as delimiters between terms unless some
148. valuating Old Test Cases Let us now modify the rules to add in a new variable Tom If Tom goes to the party and either Sally or Sarah go to the party then Harry will go even if Bob and or John are there The new graph is Harry Party 2 Tom in the Examples Directory 36 BenderRBT Cause Effect Graphing Users Guide NaN Harry 3 Ee OR Harry 1 Ano 2 OR Harry A nano Harry 2 4 Harry Graph Version 2 From the first version we have a set of tests None of them include Tom However we can still use them RBT will tell us what they cover and what we need to do to bring them in sync with the new application rules reflected by the graph From the RBTg interface choose Generate gt Run Old You will be prompted for the name of the tests file to use Select the appropriate tests file and run the graph When we do this for the above modified graph we get the following test definition matrix 37 BenderRBT Cause Effect Graphing Users Guide Harry obs T T F Harry Tests Run Old Notice that RBT has added Tom True to some of tests 3 5 and added Tom false to some of the tests 1 2 4 RBT uses the old tests as a base and then adds in the new nodes in the optimal manner to maximize coverage under the new rules In the Batch and Script Tests Reports this same information is also reflected in the test descriptions For example Test 01 would be documented as Old Test TEST 01 Harry Goes To T
149. ve overdraft protection on the checking account Few ODs The customer has had less than five overdrafts in the last 12 months Effect states Give OD Give the customer free overdraft protection Batch Tests With Node Names 5 16 Exporting The RBT Reports Most of the RBT reports can be exported The following reports are exported as text files the file extension appears after the report name Graph Errors ge Functional Variations fv Script Test Definitions st Batch Test Definitions bt 60 BenderRBT Cause Effect Graphing Users Guide New Tests cet Test Statistics ggw Capture Playback reports various extensions one for each tool Functional Specification frs MIL STD 498 dod The following reports are exported as comma delimited files with the extension csv Coverage Matrix Definition Matrix Program Data The following reports have no export option Cause Effect Graph the text API data Logic Diagram 5 17 Printing Multiple Reports For any given graph you can print out multiple reports at one time Go to File gt Print Multiple The following dialog will appear Print Multiple Print the following reports Cause Effect Graph Input Print V Graph Errors Cancel Functional Variations Script Test Definitions l Bat t Definiti Batch Test Definitions Clear All Coverage Matrix Definition Matrix Use Defaults M New Tests Statistics Logic Diagram Print Multiple Dialog 61 BenderR
150. vere error message for any constraint statement using a node name that is also not referenced in a Relations statement In general constraints should specify only primary causes This follows from the definition of constraints as environmental limitations on the feasible combinations of input boundary conditions However constraints may also specify intermediate nodes and even primary effects as indirect limitations using the intervening graph logic on the feasible combinations of primary causes when sets of input causes are being constrained For example consider the following partial graph statements Relations X AorBorC Y lor2or3 Constraints EXCL A B C EXCL 1 2 3 ONE X Y In this scenario ONE and only one member of the A B C set or the 1 2 3 set must be present This does not imply that the states of the non invokable nodes themselves are being constrained as the states of these nodes are determined solely by the logic in the graph subject to the possibility that this logic is flawed in the implementation of the graph 117 BenderRBT Cause Effect Graphing Users Guide This use of non invokable nodes in constraints effectively buries connectives within the constraints thereby permitting more complex constraint expressions If the connective structure needed in a constraint does not already exist in the graph it can be defined using a relations statement carrying the PAS annotation This excludes it from th
151. w C E Graph File The Browse option allows you to select the directory in which the new graph should be placed The Clear DB List button will blank out the contents of the file name window and the most recently used list BenderRBT Cause Effect Graphing Users Guide The pull down will show you the list of most recently used graphs In this case we will name our graph file Check OD You then hit the Create button RBT will create a new data base for this graph It is actually an Access data base This brings up the screen where you can now begin drawing your graph zmo aAa Gel jA a A a vao e Tile gt C Bendefi8 I Documentabori Bendes RBT Documertahen NABT User Marsh RET Graph Fies Check OD bt New Graph Screen 3 2 Importing Existing Graphs From Earlier Versions of RBT At this point you would also be ready to import any graphs created in earlier versions of RBT You can do this for graphs created using the Visio front end You can also do it for graphs that were created using the original character interface which is now the API referred to above This is done via the ceg file not the vsd file Create a new graph as described in the above section Then select File gt Import Ceg A dialog will appear asking for the ceg file name BenderRBT Cause Effect Graphing Users Guide Look in B RBT Class Cegs e m e W Bob Hike ceg Y R Exercise 4 5 3 ceg l R Take O
152. y nor desirable that the absence or false state of the error message not appearing be indicated in every test case definition If it is important to the testing scenario that false state conditions for this node name be observable and present in each test case definition then remove the B designation and consider specifying a false state description W22 False state suppressed on unconstrained node lt nodename gt The B bypass false state condition has been specified using the nodes definition statement for the indicated node name which subsequently has not been included in a Requires One and only one or Includes Constraint statement This is a warning message only Be aware that when the false state of the node name is applicable to a test it does not appear in either the batch or script test case definition listings Unless this node is constrained with one or more other nodes its definition may be logically inconsistent with the intended requirements specification Review the requirements of the specified node name as they may be influenced by one or more other node names and as appropriate establish the logical Constraint requirements necessary 95 BenderRBT Cause Effect Graphing Users Guide W23 REQ Knodename gt subject node not a Primary Cause The subject node in a Requires Constraint statement should logically name a primary cause node i e a node that is not also an effect node To BenderRBT this ap
153. ysical tables See also black box 133

Download Pdf Manuals

image

Related Search

Related Contents

Mode d`emploi Calliclad - clins de bardage  PATTEX BAÑO SANO ANTI-MOHO - J Martín-Caro  Benutzerhandbuch - Sena Technologies, Inc.  KitchenAid KAWE767B User's Manual  MD1D-CVX    Peak Performer 1 RCP (910- Series) User Manual    Manuel d`utilisation du système d`irrigation solaire à distribution  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.