一、 测试准备工作
1. 向有经验的测试人员学习
2. 阅读软件测试的相关书籍
3. 走读缺陷跟踪库中的问题报告单
4. 走读相关产品的历史测试用例
5. 学习产品相关的业务知识
二、 识别测试需求
1. 主动获取需求
当拿到相关的资料后,从哪些方面分析需求?如何与开发人员交流需求?其实,只要把握需求分析的几个关键的点就可以解决问题:输入、处理过程、输出、性能要求、运行环境,下面针对每一个项目逐一分析:
软件输入:与该需求相关的一切可能输入,可以从这几方面考虑,输入来源、输入参数的数量、输入参数的度量单位、输入参数的时间要求、输入参数的精度和输入参数的有效输入范围。在测试用例设计中,这部分内容作为测试用例输入的依据。
处理过程:描述对输入数据所执行的所有操作和如何获得输出的过程。测试人员了解处理过程即可,在测试过程中发现 BUG 时候,如果对处理过程了解的深入,对定位问题根源有很大的帮助。
软件输出:描述每个需求的输出结果,包括输出的位置(如计算机显示器、打印机,文件),输出参数的数量、输出参数的度量单位、输出参数的时序、输出参数精确度、输出参数的有效输出范围、错误消息。在测试用例设计中,这部分内容作为测试用例的预期输出。
性能要求:与该需求相关的性能要求,比如“插 入 ATM 取款卡后,3 秒钟内弹出提示用户取款的图形界面”。3 秒钟这一限制,就是对需求的基本性能要求。
运行环境:软件的运行所需的环境,包括硬件平台的要求、操作系统的要求、数据库的要求,以及其它相关支撑软件的要求。
2. 确认需求的优先级
3. 加入开发小组的邮件群组
4. 与开发人员为邻
三、 测试用例设计
1. 测试用例的基本格式:软件测试用例的基本要素包括测试用例编 号 、测 试 标 题 、重 要 级别、测试输入、操作步骤、预期结果,下面逐一介绍。
用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
测试标题:对测试用例的描述,测 试用 例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。
重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然,测试输入:提供测试执行中的各种输入条件。根 据 需 求 中 的 输 入条 件 ,确定 测 试 用 例的 输 入 。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那 么测试用例设计中会遇到很大的障碍。
操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与 预期结果不符,那么测试不通过;反之则测试通过。
2. 重用同类型项目的测试用例
3. 利用已有的软件 Checklist(测试点)
4. 加强测试用例的评审
5. 定义测试用例的执行顺序
四、 测试用例执行
1. 搭建软件测试环境,执行测试用例一般来说,软件产品提交测试后,开发人员应该提交一份产品安装指导书,在指导 书中详细指明软件产品运行的软硬件环境,比如要求操作系统系统是Windows 2000 pack4 版本,数据库是 Sql Server 2000 等等,此外,应该给出被测试软件产品的详细安装指导书,包括安装的操作步骤、相关配置文件的配置方法等等。
2. 测试执行过程应注意的问题。a、全方位的观察测试用例执行结果;b、加强测试过程记录;c、及时确认发现的问题:如果发现了可疑问题,又无法定位是否为软件缺陷,那么一定要保留现场,然后知会相关开发人员到现场定位问题。如果开发人员在短时间内可以确认是否为软件缺陷,测试人员给予配合;如果开发人员定位问题需要花费很长时间,测试人员千万不要因此耽误自己宝贵的测试执行时间,可以 让开发人员记录重新问题的测试环境配置,然后,回到自己的开发环境上重现问题,继续定位问题。d、与开发人员良好的沟通:
3. 及时更新测试用例
4. 提交一份优秀的问题报告单软件测试报告单最关键的域就是“问题描述”,这是开发人员重现问题,定位问题的依据。问题描述应该包括以下几部分内容:软件配置、硬件配置、测试用例输入、操作步骤、输出、当时输出设备的相关输出信息和相关的日志等。
五、 测试结果分析