发明名称 一种基于测试数据的软件质量评价方法
摘要 一种基于测试数据来对软件质量进行评价的方法,首先确定功能性测试用例集评价公式和非功能性测试用例集评价公式,根据测试用例集评价公式确定软件质量子特性评价公式,根据软件质量子特性评价公式确定软件质量特性评价公式,根据软件质量特性评价公式确定软件质量评价公式。本发明确定了软件质量评价置信度,并根据软件质量评价结果和软件质量评价置信度确定软件质量综合评价公式。本发明对软件质量评价客观,准确性高。
申请公布号 CN101604288A 申请公布日期 2009.12.16
申请号 CN200910089253.X 申请日期 2009.07.10
申请人 北京航空航天大学 发明人 晏海华;钱红兵;惠喻;张茂林;杨海燕;何智涛;贾兴华
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 代理人 成金玉;卢 纪
主权项 1、一种基于测试数据的软件质量评价方法,其特征在于步骤如下:步骤1:确定测试用例集评价将测试用例集分为功能性测试用例集和非功能性测试用例集两类,每个测试用例集属于功能性测试用例集或者非功能性测试用例集;若该测试用例集所属质量子特性所属质量特性为功能性,则该测试用例集为功能性测试用例集,反之为非功能性测试用例集;所述的功能性测试用例集评价为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>S</mi><mi>T</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>*</mo><mi>D</mi><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><msub><mi>p</mi><mi>j</mi></msub><mo>*</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>*</mo><mi>D</mi></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>其中,N<sub>1</sub>表示实际测试用例数,当存在一个测试用例导致多个软件问题的情况时,将该测试用例看成与软件问题个数对应数量的多个测试用例,在计算用例总数时其按对应问题个数来计算;L表示软件问题的总数,p<sub>j</sub>表示第j个软件问题的严重性程度,x<sub>j</sub>表示第j个软件问题对应测试用例的重要性程度,D表示测试用例集差异度,0≤D≤1;所述的非功能性测试用例集评价为:<maths num="0002"><![CDATA[<math><mrow><msub><mi>S</mi><mi>T</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>2</mn></msub><mo>*</mo><mi>D</mi><mo>-</mo><mi>M</mi></mrow><mrow><msub><mi>N</mi><mn>2</mn></msub><mo>*</mo><mi>D</mi></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>其中,N<sub>2</sub>代表测试用例集中设计的测试用例的总数,M代表未通过的测试用例的数量,D代表测试用例集中测试用例的差异度,0≤D≤1;步骤2:确定软件质量子特性评价软件质量子特性评价为:<maths num="0003"><![CDATA[<math><mrow><msub><mi>M</mi><mi>s</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>Q</mi><mi>i</mi></msub><mo>*</mo><msub><mi>S</mi><msub><mi>T</mi><mi>i</mi></msub></msub><mo>,</mo></mrow></math>]]></maths>其中,假设在质量子特性下边有n个测试用例集,Q<sub>i</sub>为每个测试用例集对应的权重,其中<maths num="0004"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>Q</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>,</mo></mrow></math>]]></maths><img file="A2009100892530002C5.GIF" wi="56" he="70" />为每个测试用例集评价,如果该质量子特性所属质量特性为功能性,则<img file="A2009100892530002C6.GIF" wi="59" he="62" />按照步骤1中功能性测试用例集评价公式计算,如果该质量子特性所属质量特性为非功能性,则<img file="A2009100892530002C7.GIF" wi="54" he="65" />按照步骤1中非功能性测试用例集评价公式计算;步骤3:确定软件质量特性评价软件质量特性评价为:<maths num="0005"><![CDATA[<math><mrow><msub><mi>M</mi><mi>c</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>R</mi><mi>i</mi></msub><mo>*</mo><msub><mi>M</mi><mi>si</mi></msub><mo>,</mo></mrow></math>]]></maths>其中,假设在质量特性下边有n个质量子特性,第i个质量子特性的评价分数为M<sub>si</sub>,按照步骤2软件质量子特性评价公式进行计算,第i个质量子特性对应的权重为R<sub>i</sub>,其中<maths num="0006"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>R</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>;</mo></mrow></math>]]></maths>步骤4:软件质量评价软件质量评价为:<maths num="0007"><![CDATA[<math><mrow><msub><mi>E</mi><mi>quality</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>R</mi><mi>i</mi></msub><mo>*</mo><msub><mi>M</mi><mi>ci</mi></msub><mo>,</mo></mrow></math>]]></maths>其中,假设在软件质量下面有n个质量特性,第i个质量特性的评价分数为M<sub>ci</sub>,按照步骤3软件质量子特性评价公式进行计算,第i个质量特性对应的权重为R<sub>i</sub>,其中<maths num="0008"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>R</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>;</mo></mrow></math>]]></maths>步骤5:确定软件质量评价分数置信度S=S<sub>tcset</sub>=S<sub>white</sub>*S<sub>black</sub>其中,S为软件质量评价分数置信度,S<sub>tcset</sub>为软件测试用例的充分性,S<sub>white</sub>为软件白盒测试充分性,S<sub>black</sub>为软件黑盒测试充分性;白盒测试充分性S<sub>white</sub>=Coverage<sub>X</sub>。假定软件对白盒测试类型的要求为X覆盖,则X覆盖的覆盖率为<img file="A2009100892530003C4.GIF" wi="630" he="103" />黑盒测试充分性确定过程如下:(1)首先,给出叶子节点,即测试用例集的充分性;(2)某非叶子节点x有n个儿子节点,每个儿子节点的权重为p<sub>i</sub>,相应的充分性等级为s<sub>i</sub>,则该非叶子节点充分性评价为<maths num="0009"><![CDATA[<math><mrow><msub><mi>S</mi><mi>x</mi></msub><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>p</mi><mi>i</mi></msub><msub><mi>s</mi><mi>i</mi></msub><mo>;</mo></mrow></math>]]></maths>(3)依此类推,可得软件黑盒测试的充分性S<sub>black</sub>;步骤6:确定软件质量综合评价将软件质量评价的置信度因素加入到软件质量评价体系中,结合软件质量评价分数给出软件质量综合评价公式:E<sub>total</sub>=E<sub>quality</sub>*S其中,E<sub>total</sub>代表软件质量综合评价分数,E<sub>quality</sub>为软件质量评价分数,S为软件质量评价分数的置信度。
地址 100191北京市海淀区学院路37号