分享
 
 
 

函数库、组件产品的测试方法

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

这是我为公司的接口类产品制定的测试指南,文中列出了对于函数库、组件等对象(下文统称函数接口)的测试过程。这里描述的属于确认测试过程,但由于从形式上类似于单元测试,而且也基本适用于单元测试的过程,所以放到单元测试栏目中。

1.1 概述

函数接口(或称API)是公司的一个产品类型。目前包括:TRS Database为各类平台提供的接口,以及TRS CKM工具包,以后有可能会继续增加。本部分的测试指南,描述了对这类产品进行测试时的参考过程。

下面首先给出整体的测试过程,然后针对每个子过程需要进行的工作进行具体描述,最后是几点补充说明。

1.2 测试过程

函数接口的整体测试过程如下:

* 制定测试计划

* 设计测试用例

* 执行测试

* 编写可复用的测试代码

* 增强测试

* 结束测试

1.3 过程说明

下面是对各个子过程的具体说明:

1.3.1 制定测试计划

分析被测试对象的具体情况,制定测试计划,形成文档。测试计划至少要包括以下内容:

测试范围。测试要覆盖哪些库以及库中的哪些函数,要覆盖哪些文档,包含哪些测试类型等等。

测试工具。选择什么工具组织测试代码,是否还需要其它的辅助性测试工具。

测试环境。都需要在什么环境下执行测试,环境指硬件类型、OS、DB等等。

测试数据组织。对于测试代码所需要的测试数据,以什么方式来组织和保存。

进度安排。各个阶段的工作内容、时间安排。

测试尺度。测试的深度和广度是什么。根据现有的资源情况,在计划中设定一个标准,避免测试的盲目性和随意性。

1.3.2 设计测试用例

按照函数接口说明文档,依据测试计划中的测试尺度来设计测试用例,形成文档。

函数接口的测试用例设计,与传统GUI界面产品的用例设计思路是一样的,包括测试输入(正常、异常输入)和预期输出两部分,等价划分、边界值等设计方法也同样适用,只是这时的界面变成了函数接口的输入参数,而不再是GUI元素。

1.3.3 执行测试

依据测试用例设计文档,编写调试代码,执行测试。这是函数接口测试中最为耗时的过程,Bug也主要是在这个过程中被发现的。开发人员修正Bug,测试人员进行回归测试,直至Bug被关闭。

1.3.4 编写可复用的测试代码

当一个函数的bug修正基本完成后,整理调试代码,将其转化为可复用测试代码。

函数接口最后的测试代码与其测试用例设计应该是一致的,测试代码是测试用例的具体实现。假如测试代码需要独立的测试数据,则要具体记录下这些数据的相关信息。测试用例设计文档、测试代码、测试代码所需测试数据,这三者构成完整的测试程序。

在编写测试代码的时候需要注重:不同测试部分的测试数据应该互不干扰,各部分的测试代码,在测试结束时要负责恢复测试环境,以使下一个测试能正常运行,也便于测试代码的维护。

1.3.5 增强测试

这是一个可选项目,不是必须的。是否进行这项工作,在制定测试计划的时候就要考虑清楚。

对于函数接口的增强测试,可以考虑的测试内容包括(但不限于):代码测试覆盖率的统计、函数接口的Run-time错误检测。这类测试工作需要工具的支持,可选的工具如:Compuware的Devpartner,IBM的PurifyPlus等。

1.3.6 结束测试

结束测试阶段的工作包括:编写测试报告、测试资料整理。

完成测试计划中罗列的所有工作,达到预期的测试目标后,进行测试报告的编写。

对于测试过程中产生的测试资源——测试计划、测试用例设计、测试代码,这些是以后测试复用的基础。假如这些资源本身不能说明自己,则需要整理一份单独的说明文档,供以后参考使用。

1.4 补充说明

1.4.1 测试过程的补充说明

对于上面描述的测试过程中的‘设计测试用例’、‘执行测试’、‘编写可复用的测试代码’这三个步骤,不是完成一项后,才开始进行下一项,而通常是一个交替进行、逐步迭代的过程。先制定好测试用例文档的整体结构,然后设计一个函数接口的测试用例,接着执行对其的测试,最后整理成可复用的测试代码。针对每个函数接口都重复这个过程,直至完成所有函数接口的测试。

1.4.2 测试过程中产生的测试资源

测试过程中产生,测试结束后需要存档的测试资源包括:

测试计划(文档);

测试用例设计(文档);

测试代码及相关数据(代码、数据);

测试报告(文档);

其它的相关说明文档(假如有的话);

测试框架的介质(假如选用了第三方测试框架的话)。

1.4.3 函数接口测试的自动化

函数接口产品的一个特点就是对外表现比较稳定,因此一旦实现了对其测试过程的自动化,积累起可复用的测试资源,就会大大缩短以后该产品的测试周期。所以对于函数接口的测试,建议都能以测试自动化的过程进行组织。

为了实现函数接口的测试自动化,就需要选择一个稳定、可靠的测试框架来组织测试代码,在这里建议使用XUnit工具。

(注:针对不同的开发语言,Xunit提供了不同的版本,如Junit(for Java),CppUnit(for C/C++),Nunit(for MS .Net)等等,每种主流的语言都有其对应的Xunit框架。Xunit是Open Source的工具,可以从http://sourceforge.net上下载。

1.4.4 测试代码的维护

测试代码并不是写完后一次后就一劳永逸了。随着被测产品的升级,测试代码也需要作出相应的调整,以适应被测产品的变化。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有