一、软件测试的概念
软件测试是软件工程中的一个环节,开发项目中的一部分。
二、任务
1.制定测试大纲
- 项目介绍
- 目标和内容
- 任务和进度
- 测试策略
- 风险和预防
- 验收指标
2.制作测试数据
测试数据是测试过程的核心要素。 获取测试数据的方法:
- 来自生产环境的数据
- 检索从客户端现有数据库中提取数据的SQL查询
- 自动数据生产工具
测试数据类别:
- 无数据:以空白或默认数据运行测试用例。查看是否生成正确的错误消息。
- 有效数据集:创建它以检查应用程序是否按照要求运行,有效的输入数据被正确保存在数据库或文件中。
- 无效的数据集:准备无效数据集以检查负值(字母数字字符串输入)的应用程序行为。
- 非法数据格式:制作一组非法数据格式的数据。系统不应接受无效或非法格式的数据。另外,检查是否生成正确的错误消息。
- 边界条件数据集:包含超出范围数据的数据集。识别应用边界条件并准备覆盖较低和上限条件的数据集。
- 性能,负载和压力测试数据集:该数据集体积应大。
3.单元测试
- 是指对软件中的最小可测试单元进行检查和验证。通常是一个函数/方法。
- 单元测试是已知代码结构进行的测试,属于白盒测试。
4.功能测试
- 利用黑盒做动态测试,需要测试软件产品的功能,不需要测试软件产品的内部结构和处理过程。
- 功能测试关注产品的所有功能上,要考虑到每个细节功能。
5.性能测试
- 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
- 包括:
压力测试:压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 负载测试:通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。 并发测试:测试多个用户同事访问同一个应用,同一个模块,或者数据记录时是否存在死锁或者其他性能问题。 容量测试:测试系统能够处理的最大回话能力,确定系统可处理同时在线的最大用户数,通常和数据库有关。 配置测试:对系统的软硬件配置测试,找到各项资源的最优分配原则。 可靠性测试:对系统加载一定的业务压力,(CPU资源70%-90%使用率)的情况下,运行一段时间,检查系统是否稳定,可测出内存泄漏问题。 失败测试:对有冗余备份和负载均衡的系统,检测若系统出现错误,备份是否影响用户使用。
6.集成测试
- 是将多个单元相互作用,形成一个整体,对整体协调性进行测试。
- 一般从构成系统的最小单元开始,持续推进到单元之间的接口直到集成为一个完成的软件系统为止。
7.系统测试
- 系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。系统测试的测试用例应依据需求分析说明书来设计。
8.验收测试
- 软件验收测试即按照相关需求标准提供的需求文档中所有内容,或者按合同或者《任务书》,及其它有效约定,对方承诺实现的需求等进行开发、内测完毕,提交版本符合软件验收测试评价标准,对系统进行全面的测试。
9.写出检测报告书
1 引言
1.1 编写目的
1.2 背景
1.3 术语和缩略词
1.4 参考资料
2 测试用例设计
3 测试结果及分析
3.1 测试环境
3.2 测试用例执行
3.3 结论及建议
10.提交下一阶段工作所需的系统运行、维护手册草案
三、软件测试目的
- 软件测试是为了发现错误而执行程序的过程 。
- 测试是为了证明程序有错而不是证明程序没有错 。
- 一个好的测试用例在于他能发现至今未发现的错误。
- 一个成功的测试是发现了至今未发现的错误的测试。
四、软件测试原则
- 尽早、不断进行软件测试。
- 测试用例由测试输入数据和与之对应的预期输入结果两部分组成。
- 程序员避免测试自己写的程序。
- 设计测试用例,应当包括合理的输入条件和不合理的输入条件。
- 注意群集现象,即一个功能可能出现多个错误。
- 测试计划不能随意更改。
- 对每一个测试结果进行全面检查。
五、软件测试流程
立项阶段->需求阶段->设计阶段->编码和单元测试阶段->集成测试阶段->系统测试阶段->验收测试阶段->结项总结阶段
|