首先,我们要对我们的测试做一个定义:软件测试是为了发现错误而执行程序的过程。我们进行我们意义在哪里,是保证产品质量,还是保证项目能够及时上线。这里也涉及到我们测试的目的:提高产品的质量。

其次,要定义我们测试的层次:单元、集成,系统,验收,以及是否需要开始自动化测试,进行产品的性能测试。进行这些层次的测试,我们需要招聘什么样的人才,需要哪些部门配合。

第三:要定义我们测试的类型:功能、界面、性能、强度、容量、配置、安装等

测试策略:

测试工具的选用:工具的种类,工具能做的工作和不能做的工作。

测试类型:静态分析,功能测试,用户界面测试,性能测试,负载测试,强度测试,容量测试,配置测试,安装测试。

性能测试:响应时间,并发性,吞吐量,处理精度。

强度测试:资源少的情况下可能发生的错误,低内存,磁盘空间。

共享资源竞争的情况下可能发生的错误:系统资源,数据库加锁,网络带宽。

如果我们要做CMM评审,我们还要了解CMM对于测试的要求。RUP把需求,设计,编码,测试并行了,仅仅是测试在编码之后进行,测试计划和设计与开发同步。

测试用例是否覆盖了需求:

需求〉测试需求〉测试用例

软件测试的目的:

基于不同的立场,存在两种完全不同的测试目的。从用户角度出发,暴露软件中存在的错误和缺陷,以考虑是否可接受该产品。

从软件开发者的角度出发,表明软件产品中不存在错误的过程,验证该软件已实现了用户的要求,确立人们对软件质量的信心。

测试的目的:

以少的时间和人力:系统地找出软件中潜在地各种缺陷和错误。

测试地附带收获是:能够证明软件的功能和性能与需求说明相复合。

软件测试地原则:尽早的和不断地进行软件测试。

测试中应注意地现象:排除测试的随意性。

妥善保存测试计划,测试用例,出错统计和终分析报告,为维护提供方便。

软件测试的对象:

软件测试不等于程序测试,软件测试应贯串于软件定义和开发地整个期间。需求分析,概要设计,详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都应成为软件测试的对象。

为把握软件开发各个环节地正确性,需要进行各种确认和验证。

确认:是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。

验证:试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性,完备性和正确性。

软件配置:

软件需求规格说明书,设计规格说明书,源代码等。

测试配置:

测试计划,测试用例,测试程序等。

测试工具:

测试数据自动生成程序,静态分析程序,动态分析程序,测试结果分析程序,以及驱动测试的测试数据库等等。

测试和软件开发各阶段的关系:

软件开发过程是一个自顶向下逐步细化的过程,软件计划阶段定义软件作用域。

软件需求分析建立软件信息域,功能和性能需求、约束。软件设计,把设计用某种程序语言转换成程序代码。