系统测试基础知识
测试的意义目的和原则
系统测试是为了发现错误而执行程序的过程。
信息测试应包括软件测试、硬件测试和网络测试。
系统测试是保证系统质量和可靠性的关键步骤。
根据测试的概念和目的,信息系统测试应遵循以下原则:
- 应尽早并不断地进行测试
- 测试工作应该避免由原开发软件的人或小组承担
- 设计测试方案,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。
- 设计测试用例时,不仅要设计合理的输入条件,也要包含不合理的、失效的输入条件。
- 在测试程序时,不因要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。
- 要严格按照测试计划进行,避免测试的随意性
- 妥善保存测试计划、测试用例
- 测试例子应该都是精心设计的,可以为重新测试或追加测试提供方便。
测试过程
测试是开发过程中一个独立且非常重要的阶段。
测试过程基本上与开发过程是平行进行的。
一个规范化的测试过程通常包括以下基本的测试活动:
- 制定测试计划
- 编制测试大纲
- 根据测试大纲设计或生成测试用例
- 实施测试
- 生成测试报告
软件测试策略
软件测试策略将软件测试用例的设计方法集成到一系列经过周密计划的步骤中去,从而使软件构造成功地完成。
任何测试策略都必须包含测试计划、测试用例设计、测试执行以及结果数据的收集和评估。
有效的软件测试实际是哪个分为单元测试、集成测试、确认测试和系统测试4步进行。
- 单元测试
单元测试,即模块测试,在模块编写完成且无编译错误后就可以进行测试,单元测试侧重于模块中的内部处理逻辑和数据结构。
单元测试一般使用白盒测试法,检查模块的5个特征:
1️⃣ 模块接口
2️⃣ 局部数据结构
3️⃣ 重要的执行路径
4️⃣ 出差处理
5️⃣ 边界条件
- 集成测试
集成测试就是把模块按系统设计说明书的要求组合起来进行测试。
即使所有模块都通过了测试,但在集成之后,仍可能会出现问题。
- 确认测试
经过集成测试之后,软件就被集成起来,接口方面的问题已经解决,将进入软件测试的最后一个环节,即确认测试。
确认测试的任务就是进一步检查软件功能和性能是否与用户要求的一样。
确认测试,首先要进行有效性测试,以及软件配置审查,然后进行验收测试和安装测试,经过管理部门的认可和专家鉴定后,软件即可交给用户使用。
- 系统测试
系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素集合在一起,进行信息系统的各种集成测试和确认测试。
常见的系统测试主要有以下内容:
1️⃣ 恢复测试
2️⃣ 安全性测试
3️⃣ 压力测试
4️⃣ 性能测试
5️⃣ 可靠性、可用性和可维护性测试
6️⃣ 安装测试
软件测试方法
软件测试方法分为静态测试和动态测试。
静态测试,是指测试程序不在机器上运行,而是采用用人检测和计算机辅助静态分析的手段对程序进行检测。
动态测试, 是值通过运行程序发现错误。对软件进行动态测试时可以采用黑盒测试法和白盒测试法。
黑盒测试法
即功能测试。
在完全不考虑软件的内部结构和特征的情况下,测试软件的外部特征。
进行黑盒测试,主要是为了发现以下几类错误:
- 是否有错误的功能或遗漏的功能
- 界面是否有误?输入是否接收,输出是否正确?
- 是否有数据结构或外部数据库访问错误
- 性能是否能够接受
- 是否有初始化或终止性错误
常用的黑盒测试技术有:
- 等价类划分
- 边界值分析
- 错误推测
- 因果图
白盒测试法
即结构测试。
根据程序的内容结构和逻辑开设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需求。
白盒测试常用的技术是:
- 逻辑覆盖
- 循环覆盖
- 基本路径测试