遵循CMMI3的测试计划

2018-11-19 20:25

1.1. 遵循CMMI3的测试计划

测试计划也应遵循CMMI3级体系的要求制定。测试是与开发紧密结合在一起的,不能抛开开发单独谈论测试,因此根据本项目开发的迭代型生命周期模型,本项目的测试过程也同样采用迭代模型,另外根据本项目的特点,系统测试是本项目的测试重点。

1.1.1. 测试分类

在整个项目实施过程中,软件测试从流程上可分为四个阶段:单元测试、集成测试、系统测试、验收测试;单元测试和集成测试相对于开发介入的比例比较大,相对独立的测试是系统测试(验收测试是用户对系统进行验收的一种测试,其方法基本同系统测试,只是测试的参与者不同),而且系统测试更是能直接反映出项目成功与否,因此在系统测试方面,我们又从测试内容上进行了详细的分解,在本项目中,我们拟采用的测试内容包括以下方面:功能测试、性能测试、压力测试、强壮性测试、安全性测试、兼容性测试、安装/反安装测试、可使用性测试、文档测试。

1.1.2. 测试的四个阶段

1.1.2.1. 单元测试

单元测试是对最小的可测试软件元素(单元)实施的测试,它所测试的内容包括单元的内部结构(如逻辑和数据流)以及单元的功能和可观测的行为。使用白盒测试方法测试单元的内部结构,使用黑盒测试方法测试单元的功能和可观测的行为。

单元测试采用以下二种方式:静态分析和动态执行。

静态分析:不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术,包括代码走查、审查、评审;

走查:开发组内部进行的,采用讲解、讨论和模拟运行的方式进行的查找错误的活动。检查要点(逻辑错误,代码标准/规范/风格);

审查:开发组内部进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。检查要点(设计需求,代码标准/规范/风格);

评审:开发组、测试组和相关人员联合进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。检查要点(设计需求,代码标准/规范/风格,文档的完整性和一致性)

动态执行:确定测试用例和开发测试驱动程序和桩模块,需要很大的工作量; 对于一些底层模块的单元测试,可以借助公司内的单元测试工具,目前公司的单元测试工具有Jtest 和C++test。分别可以对Java和C/C++代码进行单元测试。

单元测试需要投入大量的人力和时间,在本项目中最终可以根据项目周期的安排进行取舍。

1.1.2.2. 集成测试

集成测试的目的是确保经过单元测试的各模块组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口的完整性、功能的有效性、信息内容、以及性能。

接口的完整性:在每一个模块集成到整个结构中去的时候,要对其内部和外部接口进行测试;

功能的有效性:进行以发现功能性错误为目的的测试;

信息内容:进行以发现和局部或全部数据结构有关的错误为目的的测试; 性能:设计用来验证在进行软件设计的过程中建立的性能边界的测试; 集成测试的基本策略包括自底向上和自顶向下二种,根据实际情况,也可以采用三明治式的策略。总的来说,一种组合策略可能是最好的折中:在程序结构的高层使用自顶向下策略,而在下面的较低层中使用自底向上策略;

集成测试由开发组完成,测试组使用黑盒测试方法重新测试集成的功能,并且对以前的集成进行回归测试。

1.1.2.3. 综合测试

在开发或运行环境下,针对系统需求规格说明规定的所有功能和非功能需求的全面验证工作,测试整个系统,以证实它满足要求所规定的功能、质量和性能等方面的特性,对于非功能需求的测试,我们拟提供以下八方面的测试内容,分别是性能测试、压力测试、强壮性测试、安全性测试、兼容性测试、安装/反安装测试、可使用性测试、文档测试,将在以下详细说明。

1.1.2.4. 验收测试

在浙江省监测总站的实际环境中,以系统需求规格说明为依据,测试整个系统,以保证其达到可以交付使用的状态,测试方法参照系统测试,测试主体为浙江省监测总站相关人员,根据浙江省监测总站的需要,也可加入聚光科技的相关测试人员。

测试的内容

测试内容应该根据项目的本身特点进行取舍,因为要考虑项目周期及成本。以下列举一些常用

1.1.2.5. 功能测试

功能测试要求100%覆盖功能需求,但可根据需求的重要程度和使用频度设置测试的优先级别,对于高优先级别的测试需求,相对投入较多的测试资源。

1.1.2.6. 性能测试

性能测试是测试软件处理事务的速度,一是为了检验性能是否符合需求,二是为了得到某些性能数据供人们参考(例如用于宣传)。

有时人们关心测试的“绝对值”,如每秒能处理几笔交易。有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍,在本项目中,我们主要是以绝对值方式体现本系统的性能。

在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。

例如网络环境、计算机主频,总线结构和外部设备都可能影响软件的运行速度。

性能测试的一些注意事项:

? 不要试图拿着钟表去测时间,应当编写一段程序用于计算时间以及相关

数据。

? 测试软件在标准配置和最低配置下的性能。

? 为了排除干扰,应当关闭那些消耗内存、占用CPU的其它应用软件(如

杀毒软件)。

? 不同的输入情况不同的环境会得到不同的性能数据,应当分别记录。由

于环境的波动,同一种输入情况在不同的时间可能得到不同的性能数据,可以取其平均值。

在本项目中一些底层的性能测试,如工作流的性能指标可以借助于公司内的测试工具进行来完成。

1.1.2.7. 压力测试

压力测试是指系统承受压力的极限能力,如果再超过一点,就会造成系统瘫痪。

压力测试的主要任务是:构造正确的输入,使劲折腾系统却让它刚好不瘫痪。 常用的方法有:

? 加大并发用户数,观察达到多少并发用户时系统不能正常运行。 ? 加大数据库容量,构造几百万,甚至上千万条记录。 ? 加大处理文件容量,处理几百G以上的文件。 ??

压力测试基本方法类似于性能测试,但在实现上却难于性能测试,因为压力测试需要更多的依赖于测试工具进行,比如最大支持并发用户数,一般难以用人工来测试,因此一些底层模块的测试,我们也可以在公司内借助测试工具来测试。

1.1.2.8. 强壮性测试

强壮性是指系统在异常情况下,软件还能正常运行的能力。强壮性有两层含

义:一是容错能力,二是恢复能力,所以有时也把强壮性测试分做容错测试和恢复测试,也有把强壮性测试认为是破坏性测试的。

容错性测试通常构造一些不合理的输入来引诱软件出错,例如: ? 输入错误的数据类型。如“猴”年“马”月。 ? 输入定义域之外的数值。如上海人常说的“十三点”

? 采用一些粗暴方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬外,

什么招术都可以使出来。例如在测试数据通讯时,把网络线拔掉,造成通信异常中断;在系统运行过程中,拔掉机器电源,造成突发停电或人为踢掉电源的现象。

恢复测试重点考察以下几项内容:

? 系统能否自动重新运行或者在人为的干预下能否重新运行; ? 有无重要的数据丢失;

? 是否毁坏了其它相关的软硬件。

1.1.2.9. 安全性测试

信息安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。

安全性测试注意以下方面:

? 用户界面上敏感数据是否加密,密码不能明文显示。

? 用户访问权限控制机制是否合理,是否有比较全面的安全审计。 ? 数据库中敏感数据是否加密,主要如用户表信息表中的密码是否进行了

加密,如果加密了能否简单的被解密。

? 网络通讯中数据包是否加密,能否通过一些简单的网络工具就能获取通

讯数据,如果是明文传输,而且在不安全的网络上传输就可能存在安全隐患。

? 整个系统架构是否安全,如果一个系统架构在一个不安全的平台上,就

谈不上自身的安全。

? 在管理上,客户资料是否会被泄漏出去。

信息安全性测试除了以上的一些常用检查项,对于一些Internet上的应用


遵循CMMI3的测试计划.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:年产10万吨碳化硅投资建设项目可行性研究报告-广州中撰咨询

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: