项目组织分布
软件测试的方法选择
一、项目管理部门主要任务
(1) 制定或修改软件开发计划和测试计划;
(2)对整个软件项目的进度进行评估;
(3)对一些重大问题进行决策,确保软件开发项目按计划保质量地完成;
(4)决定每周要完成的开发和测试任务;
(5)协调和解决开发部门和测试部门之间产生的问题;
(6)决定提前或推后发布软件。
二、开发部门主要任务
(1)按照开发计划及时间进度表,编写新的程序代码;
(2)对测试部门发现的软件缺陷报告进行分析,确定修改的优先级;
(3)对一批软件缺陷报告进行修复后,进行软件系统集成,产生新测试版本,在提交给测试部门之前进行最基本的检查;
(4)按照开发计划,在每个测试版本的提交日期内,将新的软件测试版本提交给测试部门进行软件缺陷修复验证和新一轮测试。
(5)返回第一步。
三、测试部门主要任务
(1)根据不同测试要求,设计测试用例;
(2)按照测试计划和项目进度表,实施软件测试;
(3)对发现的软件缺陷编写软件缺陷报告,并及时报告给软件开发部门;
(4)对开发部门提供的软件缺陷修改后形成的新测试版本,进行软件缺陷验证;
(5)对开发部力提供的新测试版本,开始新一轮的测试。
(6)返回第一步。
四、测试组织和开发组织的关系
基本原则:
l 在软件测试管理中,要特别强调避免一个组织测试自己编写的程序,原因是任何开发组织都很难客观地测试自己的程序;
l 应该成立独立的软件测试组织进行软件测试:
l 测试组织与开发组织之间的关系越远越好。
五、测试配置内容
测试人员:人数、经验和专长、全职、兼职。
测试设备:计算机,打印机等。
测试环境:硬件、软件环境。
测试工具:各类测试工具。
测试地点:办公室成实验室,面积大小等。
测试策略:是否需要专业测试公司,费用如何。
其他需求:移动存储器、电话、通讯等。
六、主测试环境要求
(1)符合被测软件运行的最低要求,保证支撑软件能正常运行。
(2)选用比较普及的操作系统和软、硬件平台。
(3)构造相对简单、独立的测试环境。除了操作系统,测试机上只安装被测软件运行和测试必需的支撑软件,以免不相关的软件影响测试。
(4)保证测试环境中没有病毒,利用有效的正版杀毒软件检测软件环境。
七、辅测试环境要求
(1)兼容性测试:在满足软件运行要求的范围内,选择一些典型的操作系统和常用应用软件,对被测软件的安装、卸载和主要功能进行验证。
(2)模拟真实环境测试:对有些软件,特别是面向大众的商品化软件,在测试时常常需要考察其在真实环境中的表现。
(3)横向对比测试:利用辅测试环境“克隆”出完全一致的测试环境,从而保证各个被测软件平等对比。
(4)国际化测试:利用不同的语言环境进行测试,保证在不同的国家和地区正常使用。
八、测试计划的重要性
测试跟踪:
在整个项目开发期间,计划执行多少个测试用例?在系统最终版本上执行多少个测试用例?多少个通过,多少个失败?有无忽略的测试用例?等等。如果没有测试计划,就不能回答这些问题。
测试验证:
在少数高风险行业中,测试小组必须证明确实执行了计划执行的测试。发布忽略某些测试用例的系统实际上是不合法和危险的。正确的测试计划和测试跟踪提供了一种验证手段。
九、测试说明
描述被测产品基本情况:
l 测试目的
l 变更信息
l 软件结构及技术要求
l 软件产品规格说明
l 测试范围
l 项目信息
十、测试计划的内容
1)测试说明
2)测试需求
3)测试策略
4)测试记录
5)测试资源配置
6)软件缺陷追踪
7)测试计划时间表
8)测试计划评审
十一、软件结构及技术要求
将被测软件划分成几个组成部分,规划成一个适用于测试的完整的系统,包括数据是如何存储的,如何传递的(数据流图),每一个部分的测试是要达到什么样的目的。每一个部分是怎么实现数据更新的。还有-些常规性的技术要求,比如运行平台、需要什么样的数据库等等。
十二、测试范围
简单的描述如何搭建测试平台以及测试的潜在的风险等。
十三、测试需求
列出所有要测试的功能项(测试项或测试点)。凡是没有出现在这个清单里的功能项都排除在测试的范围之外。
l 功能的测试
l 设计的测试
l 整体考虑
十四、设计的测试
l 针对用户界面、菜单结构、窗体等的设计是否合理等的测试;
l 测试内容包括美观性、可用性、易用性等方面;
l 系统的外观很重要,要求有尽可能好的合理性。
十五、整体考虑
测试系统各模块之间的接口,即测试数据流从软件中的一个模块流到另一个模块过程中的正确性,这是保证软件系统正确的前提。
十六、测试策略
根据不同的测试区域选择不同的测试策略:
黑盒、白盒测试
-功能、性能测试
自动、手动测试
十七、测试记录
l 公正性说明
l 测试用例管理工具
l 软件缺陷管理工具
l 特殊考虑
l 经验判断
十八、公正性说明
l 要对测试的公正性、依照的标准做一个说明,证明测试是客观的。在整体上,软件功能要满足需求、实现正确、和用户文档的描述保持一致。
l 要保证测试的客观,就要保证测试人员能客观的完成测试任务。
十九、测试用例管理工具
描述测试用例模板,管理测试用例采用了什么工具,工具的来源是什么,如何执行的,用了什么样的数据。测试用例记录中要为将来的回归测试记录信息。
二十、软件缺陷管理工具
在测试的计划阶段,应该明确建立一个软件缺陷管理的方法和工具。工具的来源是什么,如何执行的,需要使用什么样的数据。
二十一、特殊考虑
针对一些外界环境的影响, 要对软件进行一些特殊方面的测试。
例如,对于一些用于高尖端产品的信息系统,如水下机器人、太空探测器等,测试者应给予某些特殊的测试,使它们能在恶劣的环境下有着较高的可靠性和适应性。
二十二、经验判断
经验判断就是利用历史数据针对系统运行或测试中经常出现的问题仔细研究考虑,使之发生率尽量的小。
例如对于数据库系统,数据的操作(存取,副除,修改等)是其基本功能,同时也是经常出现问题(如数据冗余、死锁等)的地方。
二十三、测试资源配置
制定一个资源配置计划,包含每一个阶段的任务、所需要的资源。当发生类似到了使用期限或者资源共享的事情的时候,要更新这个计划。
二十四、软件缺陷追踪
l 描述软件缺陷报告的内容:缺陷名称、发现时间、发现者、修复者、发生的频率、所使用的测试用例,以及测试环境等。
l 描述如何界定一个软件缺陷的性质,对软件缺陷性质的描述尽可能是定量的。
l 描述软件缺陷报告的处理过程。
二十五、测试计划时间表
测试的计划表可以做成多个项目通用的形式,根据大致的时间估计来制作,操作流程要以软件测试的常规测试周期作为参考,也可以是根据什么时候应该测试哪一个模块来制定。
二十六、测试计划评审
在测试真正实施开展之前必须要认真负责的对测试计划检查一遍,并获得整个测试部门人员的认同,包括部门的负责人的同意和签字。