Abstract:
A computer implemented rule for verifying consistency in design documents is modeled as a set of associations among deliverable components, and a descriptive text explaining the specification is generated in combination with a text template.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to automatic generation of a specification text for testing a software design document. 
       BACKGROUND 
       [0002]    A static test is an activity that evaluates quality based on a source code and intermediate deliverables without executing a test subject. A static test subject includes system resources such as design documents and programs. The static test for design documents is classified into a semantic check and a formal check. In the semantic check, a technique such as review and inspection is employed. The formal check comprises verification of consistency among deliverables, validation of traceability, verification of description, omission of fixed form items, and detection of overlapped descriptions, among several others. 
         [0003]    In a large-scale development project, such as one with 600 or more participants in the design phase, a static test specification is manually prepared as needed and performs a consistency check of design documents. This typically causes several problems. For example, the correspondence between the error and its cause can be unclear. In some cases multiple OR conditions are described in text that shows a check specification outputting a same error number, which means that a developer cannot use the indicated error number to uniquely identify the cause. There can also be problems with variation in text style. With regard to similar content checks, specifications and error messages are described with different text styles. Since a Global Delivery (“GD”) member sometimes describes the specification, some expressions are hard to understand in some languages. 
         [0004]    Those who refer to the specification text of the test include not only developers of the test tool and practitioners of the test, but also a number of developers that modify design documents upon receiving the test results. Low quality and unclear specification text may impact work efficiency across the entire project. 
       BRIEF SUMMARY 
       [0005]    It is therefore a principal object and advantage of the present invention to provide the automatic generation of a specification text for testing a software design document. 
         [0006]    It is another object and advantage of the present invention to provide a static test that describes discrete check rules for every error condition. 
         [0007]    Other objects and advantages of the present invention will in part be obvious, and in part appear hereinafter. 
         [0008]    In accordance with the foregoing objects and advantages, the present invention provides a method for generation of static test specification text using the following steps: (i) the association between at least two components of a correlated design document is modeled; (ii) a check rule is modeled as an association class between the two components; (iii) a template for the text of each association class is defined; and (iv) a specification text is created. 
         [0009]    A second aspect of the present invention provides a method for generation of static test specification text in which the step of creating the text comprises the steps of (i) connecting the template for the text of each association class; (ii) defining a specification text for the check rule; and (iii) defining a specification text for each association class. 
         [0010]    A third aspect of the present invention provides a method for generation of static test specification text in which, when the text of an association class contains a variable portion, the step of a specification text further comprises fixing the variable portion by following the associations between the at least two components of the design document. 
         [0011]    A fourth aspect of the present invention provides an existence check rule comprising the step of determining whether at least one component of a first design document is found in a second design document. 
         [0012]    A fifth aspect of the present invention provides an identity check rule comprising the step of determining whether the at least one component of said first design document coincides with a corresponding component identified by the existence check rule in the second design document. 
         [0013]    A sixth aspect of the present invention provides a computer system for generating static test specification text comprising: (i) means for modeling an association between two or more components of a first design document; (ii) means for modeling at least one check rule as an association class among the two or more components; (iii) means for defining a template for the text of each association class; and (iv) means for creating a specification text. 
         [0014]    A seventh aspect of the present invention provides a computer system for generating static test specification text, wherein the computer system further comprises: (i) means for connecting the template for the text of each association class; (ii) means for defining a specification text for the check rule; and (iii) means for defining a specification text for each association class. 
         [0015]    An eighth aspect of the present invention provides a computer system for generating static test specification text, wherein the means for creating a specification text further comprises means for fixing the variable portion by following the associations between the two or more components of the design document, when the text of an association class contains a variable portion. 
         [0016]    A ninth aspect of the present invention provides a computer system for generating static test specification text, wherein the system further comprises means for creating an existence check rule, wherein the existence check rule comprises means for determining whether at least one component of a first design document is found in a second design document. 
         [0017]    A tenth aspect of the present invention provides a computer system for generating static test specification text, wherein the system further comprises means for creating an identity check rule that comprises means for determining whether the one or more component(s) of the first design document coincides with a corresponding component identified by the existence check rule in the second design document. 
         [0018]    The present invention also provides a computer program for generating static test specification text. The computer program includes: (i) means for modeling an association between two or more components of a first design document; (ii) means for modeling at least one check rule as an association class among the two or more components; (iii) means for defining a template for the text of each association class; and (iv) means for creating a specification text. 
         [0019]    The present invention provides a computer program for generating static test specification text further comprising: (i) means for connecting the template for the text of each association class; (ii) means for defining a specification text for the check rule; and (iii) means for defining a specification text for each association class. 
         [0020]    The present invention further provides a computer program for generating static test specification text wherein the means for creating a specification text further means for fixing the variable portion by following the associations between the at least two components of the design document, when the text of an association class contains a variable portion. 
         [0021]    The present invention also provides a computer program for generating static test specification text wherein the program further comprises means for creating an existence check rule, wherein the existence check rule comprises means for determining whether at least one component of a first design document is found in a second design document. 
         [0022]    The present invention further provides a computer program for generating static test specification text comprising means for creating an identity check rule, wherein the identity check rule comprises means for determining whether the at least one component of the first design document coincides with a corresponding component identified by the existence check rule in the second design document. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) 
         [0023]    The present invention will be more fully understood and appreciated by reading the following Detailed Description in conjunction with the accompanying drawings, in which: 
           [0024]      FIG. 1  is a block diagram of the allowable associations between the existence check and other components according to one embodiment of the present invention; 
           [0025]      FIG. 2  is a block diagram of the allowable associations between the identity check and other components according to one embodiment of the present invention; 
           [0026]      FIG. 3  is an example of a class diagram showing the structure of deliverables; 
           [0027]      FIG. 4  is an example of a class diagram showing the check rule; 
           [0028]      FIG. 5  is a flow chart showing a configuration example according to one embodiment of the present invention; 
           [0029]      FIG. 6  is a decision diagram showing processing of specification text generation part; 
           [0030]      FIG. 7  is a flow chart showing an example of specification text generation from a model; 
           [0031]      FIG. 8  is a block diagram showing the structure of the document and the check rule that are modeled in line with the design document according to one embodiment of the present invention; and 
           [0032]      FIG. 9  is a block diagram of a computer system for generating static test specification text according to one embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0033]    Referring now to the drawings, wherein like reference numerals refer to like parts throughout, descriptive texts of consistency check specifications are generated from a model that uses the following method. In step one, the structure (i.e., the association between components) of each design document (such as an Excel file) is modeled by a standardized modeling language such as Unified Modeling Language (“UML”). The components of an Excel file, for example, can be the &lt;&lt;Cell&gt;&gt;, &lt;&lt;Row&gt;&gt;, or &lt;&lt;Sheet&gt;&gt; components, among many others. 
         [0034]    In step two, the check rule is modeled as an association class among components of the above model. 
         [0035]    For the “existence check” and “identity check”, which are subject to the primary check rule, a rule is defined that specifies what kind of association is owned with a design document component class.  FIG. 1  shows the allowable associations between the “existence check,” denoted by numeral  10 , and other components, according to one embodiment of the present invention.  FIG. 2  shows the allowable associations between the “identity check,” denoted by numeral  12 , and other components. 
         [0036]    In step three of the method, a text template describing the specification is defined for each class, constituting a check rule. In step four, after the preparation of the model, a descriptive check specification text is created according to the following procedure. First, the texts in the template are connected so to be output, and these are defined for the relevant class of the check rule and the class on which the class is dependent. Second, when there are variable portions such as a document name in the text of the template, the content of the variable portions is fixed by following the associations between components of the document. 
         [0037]      FIG. 3  is a class diagram showing a structure of a typical design document. In this embodiment, an Excel document is used. Since it is an Excel document, four stereotypes are defined according to a general Excel file structure to classify each component; the cell, sheet, row, and virtual stereotypes. Components that are subject to consistency checks belong to a &lt;&lt;Cell&gt;&gt; stereotype. As shown in  FIG. 3 , there are components described for each sheet, such as “hub information ID”  14  and “hub information name”  16 , and components for each plurality of raw data (expressed by the &lt;&lt;Row&gt;&gt; stereotype) constituting the sheet, such as an “item concatenated name”  18  or an “item identification”  20 . The &lt;&lt;Virtual&gt;&gt; stereotype  22  is not directly described in the document; however, it expresses information subjected to consistency checks that is derived from the described components by some logic. &lt;&lt;Virtual&gt;&gt; stereotype  22  is used to express cases where information has a hub information ID with a minor number described in the document, although a hub information ID with the branch number removed is used for the consistency check. Five elements necessary for expressing the rule are extracted and their relationship with each other is defined in Table 1. 
         [0000]    
       
         
               
             
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Association of Rule Constitution Elements 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 Existence 
                 Uni-directional associations showing comparison source  
               
               
                 check 
                 (one association is required) 
               
               
                   
                 Effective association showing comparison object (one  
               
               
                   
                 association is required) 
               
               
                   
                 Dependency on derivation logic (option, plurality is  
               
               
                   
                 allowable) 
               
               
                   
                 Dependency on exceptional conditions (option, plurality  
               
               
                   
                 is allowable) 
               
               
                 Identity 
                 Non-directional association showing comparison subject  
               
               
                 check 
                 (Two associations are required) 
               
               
                   
                 Dependency on supposed existence check (one association  
               
               
                   
                 is required) 
               
               
                   
                 Dependency on derivation logic (option, plurality is  
               
               
                   
                 allowable) 
               
               
                   
                 Dependency on exception conditions (option, plurality is  
               
               
                   
                 allowable) 
               
               
                 Discrete 
                 Uni-directional associations showing check subject (one  
               
               
                 check 
                 association is required) 
               
               
                   
                 Dependency on supposed existence check (option, plurality  
               
               
                   
                 is not allowed) 
               
               
                   
                 Dependency on derivation logic (option, plurality is 
               
               
                   
                 allowable) 
               
               
                   
                 Dependency on exception conditions (option, plurality is  
               
               
                   
                 allowable) 
               
               
                 Derivation 
                 Dependency from other checks (plurality is allowable) 
               
               
                 logic 
                 Effective association from derivation source one  
               
               
                   
                 association is required) 
               
               
                   
                 Effective association with derivation object (one  
               
               
                   
                 association is required) 
               
               
                 Exceptional  
                 Dependency from other checks (plurality is allowable) 
               
               
                 conditions 
               
               
                   
               
             
          
         
       
     
         [0038]    &lt;&lt;Existence check&gt;&gt; is a typical consistency check pattern. It is a rule by which to check whether what exists in document A also exists in document B. &lt;&lt;Identity check&gt;&gt; is another typical pattern: it is a rule for a set of components identified by the existence check, to check whether their accompanying data coincide with each other. Rules other than the above two patterns are made as a &lt;&lt;Discrete check&gt;&gt;. In addition, &lt;&lt;Derivation logic&gt;&gt; shows a logic for generating the above-mentioned &lt;&lt;Virtual&gt;&gt; component. &lt;&lt;Exceptional conditions&gt;&gt; shows a description of exceptions, such that the check is performed only when item identification is “discrete” or “common”. 
         [0039]    Model expressions are shown in  FIG. 4  for the existence check (“items corresponding to the hub information ID in the interface items must exist in the hub information list”) and the identity check (“between deliverables in which existence of items is confirmed, the contents of hub information name must coincide with each other”). Dependency (denoted by the dotted line arrow in  FIG. 4 ) on the existence check from the identity check shows that only when the hub information ID exists in both deliverables is the coincidence of hub information name checked. 
         [0040]    For each component of the check rule shown in Table 1, a template for a specification description text is defined to generate a text by combining these templates based on dependency and association among components. See, for example, Table 2. In addition, templates are defined for &lt;&lt;discrete check&gt;&gt; and &lt;&lt;exceptional conditions&gt;&gt;. 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                   
                 Example of Template Text Description 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                   
                  Specification text template for &lt;&lt;Existence check&gt;&gt; 
               
               
                   
                   
                 To confirm that “ C ”, which coincides with “ B ” contained in  A , is 
               
               
                   
                   
                 included in  D . 
               
               
                   
                   
                  Specification text template for &lt;&lt;Identity check&gt;&gt; 
               
               
                   
                   
                 To confirm that  C  in  B , specified by  A , coincides with  E  in  D . 
               
               
                   
                   
                  Specification text template for &lt;&lt;Derivation logic&gt;&gt; 
               
               
                   
                   
                   A  is derived from  D  by derivation logic  B ( C ). 
               
               
                   
                   
               
             
          
         
       
     
         [0041]    Documents in the existence check and identity check templates and the name parts (i.e., the underlined parts in the template in Table 2) of their components are variable, and values are determined by following the association between components. For example, the name D of the variable part in the template for the existence check rule T 2 - 02 - 02 - a  in  FIG. 4  can be determined through the following method: (i) identifying the component (in this example, the &lt;&lt;Cell&gt;&gt; hub information ID) to be a comparison object of the existence check from effective association; and (ii) identifying a document name (such as “WP05002_hub information list”), which is the highest grade element, by following the composition association. 
         [0042]      FIG. 5  shows a configuration example when applying the present invention. In the model information storage part  40 , design documents (prepared by Rational Software Modeler, etc.) and rules are stored as XML data. A specification text template  42  is a template of a text shown in Table 2, and a variable portion deciding rule  44  is a rule to decide variable portions in the template by searching model information. Both specification text template  42  and variable portion deciding rule  44  are described by XSLT. 
         [0043]    The specification text generation part  46  converts model information expressed by XML, using the XSLT showing specification text template  42  and variable portion deciding rule  44  to generate the specification text.  FIG. 6  shows processing of the specification text generation part according to one embodiment of the present invention. 
         [0044]    When modeling check rules actually required for a project into a method used by the present invention, it is possible to express it with 7 existence checks, 3 identity checks, and one discrete check. By preparing one specification text template for the existence check and the identity check respectively, most specification text can be generated from the template regarding the actual rule. 
         [0045]    By automatically generating specification text, a method of describing the model is specified regarding the existence check and the identity check, which accounts for most of the check rules. As a result, when there are multiple error conditions, it is forced to describe discrete check rules for each condition. Therefore, correspondence of an error number to the cause of the error (a condition determined as an error) is guaranteed to be on a one-to-one basis, so that problems where “correspondence of the error with its cause is not clear” can be solved. Introducing a text template eliminates the possibility of expressions varying each time discrete specifications are decided. 
         [0046]    In Table 3 is an example of a traceability check specification prepared by a consistency rule. 
         [0000]    
       
         
               
             
               
               
               
               
               
             
           
               
                 TABLE 3 
               
             
             
               
                   
               
               
                 Traceability Check Specification 
               
               
                 Traceability check specification (prepared by consistency rule 01.xml) 
               
             
          
           
               
                 Error 
                 Comparison 
                 Comparison 
                   
                   
               
               
                 number 
                 source file 
                 object file 
                 Error messages 
                 Check specification 
               
               
                   
               
               
                 T2-01-01 
                 WP05007_System 
                 WP05002_Hub 
                 No Hub 
                 To confirm that “Hub 
               
               
                   
                 use case 
                 information list 
                 information ID 
                 information ID” that 
               
               
                   
                   
                   
                 that matches the 
                 matches all the 
               
               
                   
                   
                   
                 comparison 
                 “association information 
               
               
                   
                   
                   
                 source in the 
                 ID” included in the 
               
               
                   
                   
                   
                 WP05002_Hub 
                 WP05007_system use case 
               
               
                   
                   
                   
                 information list. 
                 exists somewhere in 
               
               
                   
                   
                   
                   
                 WP05002_Hub 
               
               
                   
                   
                   
                   
                 information list. 
               
               
                 T2-02-01 
                 WK06001_interface 
                 WP05007_System 
                 No association 
                 To confirm that 
               
               
                   
                 item 
                 use case 
                 information ID 
                 “association information 
               
               
                   
                   
                   
                 that matches the 
                 ID” that matches all the 
               
               
                   
                   
                   
                 comparison 
                 “Hub information ID” 
               
               
                   
                   
                   
                 source in 
                 included in the 
               
               
                   
                   
                   
                 WP05007_system 
                 WK06001_interface items 
               
               
                   
                   
                   
                 use case. 
                 exists somewhere in 
               
               
                   
                   
                   
                   
                 WP05007_ system use 
               
               
                   
                   
                   
                   
                 case. 
               
               
                 T2-02-02-a 
                 WK06001_interface 
                 WP05002_Hub 
                 No Hub 
                 “To confirm that “Hub 
               
               
                   
                 item 
                 information list 
                 information ID 
                 information ID” that 
               
               
                   
                   
                   
                 that matches the 
                 matches all the “Hub 
               
               
                   
                   
                   
                 comparison 
                 information ID” included 
               
               
                   
                   
                   
                 source in the 
                 in the new interface items 
               
               
                   
                   
                   
                 WP05002_Hub 
                 exists somewhere in 
               
               
                   
                   
                   
                 information list. 
                 WP05002_Hub 
               
               
                   
                   
                   
                   
                 information list. 
               
               
                   
                   
                   
                   
                 The Hub information ID is 
               
               
                   
                   
                   
                   
                 derived from the Hub 
               
               
                   
                   
                   
                   
                 information ID (with minor 
               
               
                   
                   
                   
                   
                 number) by derivation 
               
               
                   
                   
                   
                   
                 logic L001-minar number 
               
               
                   
                   
                   
                   
                 omission (processing to 
               
               
                   
                   
                   
                   
                 omit a minor number at the 
               
               
                   
                   
                   
                   
                 tail-end to generate 9-digit 
               
               
                   
                   
                   
                   
                 Hub information ID). 
               
               
                 T2-03-01 
                 WP05002_Hub 
                 WK06001_interface 
                 No Hub 
                 To confirm that “Hub 
               
               
                   
                 information list 
                 item 
                 information ID 
                 information ID” that 
               
               
                   
                   
                   
                 that matches the 
                 matches all the “Hub 
               
               
                   
                   
                   
                 comparison 
                 information ID” included 
               
               
                   
                   
                   
                 source in the 
                 in the WP05002_Hub 
               
               
                   
                   
                   
                 WK06001_interface 
                 information list exists 
               
               
                   
                   
                   
                 items. 
                 somewhere in 
               
               
                   
                   
                   
                   
                 WK06001_interface items. 
               
               
                   
                   
                   
                   
                 The Hub information ID is 
               
               
                   
                   
                   
                   
                 derived from the Hub 
               
               
                   
                   
                   
                   
                 information ID (with minor 
               
               
                   
                   
                   
                   
                 number) by derivation 
               
               
                   
                   
                   
                   
                 logic L001-minor number 
               
               
                   
                   
                   
                   
                 omission (processing to 
               
               
                   
                   
                   
                   
                 omit a minor number at the 
               
               
                   
                   
                   
                   
                 tail-end to generate 9-digit 
               
               
                   
                   
                   
                   
                 Hub information ID). 
               
               
                   
               
             
          
         
       
     
         [0047]      FIG. 9  shows a block diagram of a computer system  100  for generating static test specification text. In the model information storage  120 , one or more design documents and rules are stored. Specification text template  140  is a template of text, such as that shown in Table 2. A specification text generator  130  converts model information using specification text template  140  and at least a variable portion deciding rule, found in storage  120 , to generate the specification text. 
         [0048]    According to yet another embodiment of the present invention is a computer program for generating static test specification text. The computer program is preferably stored in permanent memory such as the storage device depicted in  FIG. 9 . The computer program can include program instructions, in the form of computer code, a linked application, or other known methods of program execution, to model at least one association between two or more components of a first design document, such as document  110  in  FIG. 9 , as described above. The program includes program instructions for modeling at least one check rule as an association class among the two components of the document. The program also defines a template for the text of each association class, and then creates a specification text. The computer program can alternatively include a GUI for user interaction, including allowing a user to modify one or more attributes of the program. 
         [0049]    In a further embodiment, the computer program includes instructions for connecting the defined template for the text of each association class, and defines a specification text for the check rule and each association class. 
         [0050]    Although the present invention has been described in connection with a preferred embodiment, it should be understood that modifications, alterations, and additions can be made to the invention without departing from the scope of the invention as defined by the claims.