做最好的自己~·

发布新日志

  • 软件测试技术基础学习之测试过程

    2009-01-16 16:47:39

     1、测试阶段划分(按测试执行顺序):

      ● 单元测试(Unit Testing

      定义:针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的工作

      测试目的:检测软件模块对《详细设计说明书》的符合程度。

      ● 集成测试(Integration Testing)

      定义:在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作;

      测试目的:检测软件模块对《概要设计说明书》的符合程度。

      ● 系统测试(System Testing)

      定义:将已经集成好的的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素组合在一起,在实际运行(使用)环境下,对计算机系统进行的一系列的测试工作。

      测试目的:与《需求规格说明书》做比较,发现软件与系统需求定义不符合或与之矛盾的地方。

      ● 回归测试(Regression Testing)

      定义:软件在测试或其他活动中发现的缺陷经过修改后,进行的测试;

      测试目的:验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能;

      特点:回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试;

      策略:

      ①、完全重复测试:重新执行前期建立的所有测试用例,并确认确认缺陷解决和修改的扩散影响性;

      ②、选择性重复测试:

      ——覆盖修改法:选择直接影响的用例;

      ——周边影响法:选择间接影响的用例;

      ——指标达成方法:达到指标的覆盖率等。

      流程:

      1)制定回归测试策略

      2)确定测试的版本

      3)按照回归测试策略执行回归测试

      4)回归测试通过,关闭缺陷跟踪单(问题单)

      5)回归测试不通过,缺陷跟踪单返回开发人员,经开发人员修改后再次进行回归测试

      回归测试自动化:(需考虑的问题如下)

      1)回归测试是一个重复的以前测试的测试,所以自动化是回归测试的追求;

      2)自动化法包括:程序的自动运行、自动配置,用例的管理、自动输入,测试自动执行,测试结果自动采集、比较及结论的自动输出;

      3)对比较稳定的可采用QTP、Robot、SilkTest等工具的“捕捉回放”工具;

      4)为了能实现自动化需要用到脚本语言,如:TCL、Python、Perl等;

      5)对比较复杂的过程,无法借助工具的需要自己开发专用工具;

      6)尽早考虑回归测试的自动化,形成工具化、可继承和推广的。

      ●  其他测试阶段

      ○  α测试:用户在开发环境下进行的测试,评价软件FLURPS

      ○  β测试:多用户在实际使用环境下进行的测试

      ○  验收测试:用户根据合同、《需求规格说明书》或《验收测试计划》对产品进行的验收测试

      注:FLURPS即:功能、局域化、可用性、可靠性、性能、技术支持


Open Toolbar