![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/125.jpg)
测试点通过测量软件测试过程的大小来反映测试活动的复杂度,以此来保证软件达到质量目标。作为 复杂度测量 ,它需要尽最大努力去反映测试活动的执行,包括测试计划、测试设计、测试执行、测试报告和缺陷跟踪。
测试点分析将测试用例集作为输入来生成测试点。
一个测试用例的复杂度包含四个维度: 检查点(checkpoint)、前置条件(precondition)、测试数据(test data)、用例类型(types of test case)。
这个说法是一种有效的假设。
这些维度被分类为两种类型:
每一个测试用例被设计为一定数量的测试点。这些测试点由一定数量的checkpoint,前置条件的复杂度和用例中用到的测试数据所构成。
checkpoint 是测试人员需要在测试中检查目标函数的输出是否与预期结果一致的条件。一个用例中包含一个或多个检查点。
Precondition。测试用例的前置条件指定了测试用例执行的条件。Precondition 和 test data 一样,主要影响测试执行的成本。对测试用例而言,一些前置条件会和测试数据构造相关联。
表1:前置条件(Precondition)复杂度等级描述
Test Data。测试数据用来执行测试用例。可以产生在测试执行过程中,也可以在测试前通过以前的测试来准备好,或者用测试脚本来生成。对一组测试用例或者整个系统而言,测试数据可以是通性的,也可以是特性的。通性的测试数据可以被多组测试用例重复使用。
表2:测试数据(Test Data)复杂度等级描述
表3:前置条件的测试点分配
表4:测试数据的测试点分配
表3和表4的常数来自一份调查,其中调查了18个测试工程师。标准差的值反映了调差结果的偏差。这些估算出来的常数可以更好的反映项目和环境的特征。
表5:各测试类型的权重
最终所有调整测试点(Adjust Test Case Point)的和为:
UTCP为UnAdjust Test Case Point
W为Test Case的权重
测试活动可以被分成四类:测试计划、测试设计、测试执行和缺陷报告。在这四类活动中,测试执行和缺陷报告在项目的某个测试用例中会被执行多次。但是,测量出的测试点规模是分散在这四类活动中的,这样测量的前提是每个活动都被执行一次。每个测试活动的投入分布允许我们不止一次的来预测测试执行和缺陷报告的执行投入。每个测试活动投入分布可以通过历史数据来生成。
表6:测试投入分布
依据信息和资源的可用性,测试投入可以通过以下简单的方法去预估:
The Productivity Index可以通过历史数据来决定
通过历史数据的代入,可以通过线性拟合求出系数A和B的值。再将其代入来预估新版本的Effort
软件测试在一个成功软件的开发和维护过程中都扮演着一个重要的角色。精确预估测试投入是达到目标的一个关键步骤。为了试图去填补预估软件测试的空白,本文提出了测试点分析的方法,以及该方法如何去计算软件测试活动的规模和投入。这个分析的输入是测试用例集,输出为每个用例的测试点。
用例作为一个测试人员的产物,需要应用在测试执行活动中。测试点分析方法一个有力的特性是它可以测量一个用例的复杂度。这样可以更好的反映测试人员在他们活动中的投入。
另一个优势是通过计取checkpoint的个数,测量前置条件和测试数据的复杂度,决定每个测试用例的类型后,可以很方便的进行应用。
但是,这种方法也有很多限制。
日后在该方法上进行改进时需要注意这些限制!!!
原文来自 Test Case Point Analysis
软件测试包括的类型测试如下:
1、单元测试:是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象是软件设计的最小单位:模块。
2、集成测试:将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确。
3、系统测试:主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。功能测试主要针对包括功能可用性、功能实现程度方面测试。
4、回归测试:指在软件维护阶段,为了检测代码修改而引入的错误所进行的测试活动。
5、冒烟测试(smoke testing):该术语来自硬件,指对一个硬件或一组硬件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试,也可以理解为该种测试耗时短,仅用一袋烟的功夫就足够了。
6、验收测试(交付测试):是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。
软件测试主要工作内容,包括两个方面验证和确认。
验证是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件。
确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。
2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。
3.评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。
静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
其实,软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
以上就是小编通过网络搜集整理关于测试点分析的全部内容了,希望能帮助到大家。

微信扫码关注公众号
获取更多考试热门资料