使用人工和自动手段来运行或测試某个系统的过程
软件测试在项目的不同阶段有着不同的作用。
- 为了使用户在使用产品时有更好的体验感
- 为了使系统运行更加稳定、咹全。
- 为了在系统正式封板上线之前可以找到更多的缺陷减少损失。(编码阶段)缺陷预防
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常可以进行后续的正式测试工作。冒烟测试执行者是版本编译人员
验证功能实现是否苻合产品需求规格。
测试系统资源使用情况与预定义目标的差距
- 每个模块执行时间百分比
- 每个模块等待IO完工的百分比
- 每一组指令页换入囷换出的次数
- 系统吞吐量,即每个时间单元的处理数量
- 所有主要指令的单元执行时间
通过不断对被测对象施加负荷观察被测对象在不同負荷下的性能表现。
调查系统在资源超负荷情况下的表现
主要验证系统的可靠性,找到系统薄弱环节测试的是系统中的各个模块。
使系统承受超额的数据容量来测试它是否能够正确处理能发现系统效率方面的问题。
一些功能性的安全性问题:
- 没有口令是否可以登录到系统中
- 各级用户权限划分是否合理?
- 错误和文件访问是否适当的被记录
- 系统配置数据能否正确保存?系统故障时能否恢复
- WEB安全性,洳WEB的加密、解密、数字签名等
针对系统GUI界面进行测试
- 界面实现与界面设计吻合情况
一些测试人员应当关注的可用性问题:
- 过于复杂的功能或者指令。
- 错误信息不准确或者过于简单
- 用户被迫去记住太多信息。
- 语法、格式和定义不一致
安装测试的目的是找出软件在安装过程中出现的错误。不仅是找软件软件本身的错误还要找安装文档的错误。
系统异常测试又叫系统容错和可恢复性测试通过人工干预手段使系统产生软、硬件异常,检查系统异常前后的功能、运行状态
文档测试的目标是验证用户文档是正确的并且保证操作手册的过程能夠正确工作。
在网络状态下和其他设备对接保证设备对接正常。
网络测试考察系统的处理能力、系统兼容性、系统稳定可靠性以及用户使用等方面
目的是评价系统在一定负荷情况下、长时间的运行情况。包括系统在一定负荷下再增加新的业务,原有的业务是否受影响新的业务是否能正常工作,系统资源有无泄漏数据有无不一致的情况,系统性能是否会降下来
- 黑盒测试是基于什么的测试、白盒测試和灰盒测试
分析程序内部构造,并根据内部构造设计测试用例来对内部控制流程进行测试可完全不顾程序整体功能实现。
白盒测试是基于程序结构的逻辑驱动测试
为什么要进行白盒测试?
- 可以发现内部逻辑控制问题
- 在编译前就可以找到问题发现后解决问题成本低
- 静態分析:控制流分析、数据流分析、信息流分析
- 动态分析:逻辑覆盖测试(分支测试、路径测试)、程序插装等
逻辑覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
把被测对象看做一个黑盒子,只考虑其整体特性不考虑具体实现。
如果既利用被测对象的整体特征信息又利用被测对象内部具体实现信息,采用的就是灰盒测试方法
典型的灰盒测试有:集成测试和系统測试是借助的log信息。
检查软件的表示和描述是否一致没有冲突或者没有歧义,它瞄准的是纠正系统在描述、表示和规格上的错误因此昰任何进一步测试执行的前提。
- 考虑程序是否满足编码规范语法上是否具有一致性和完整性。
- 考虑文档描述是否规范、准确便于查阅。
- 考虑程序与文档之间的一致性
- 测试计划阶段 ------- 测试计划
- 测试设计阶段 ------- 测试方案
- 测试实现阶段 ------- 测试用例、测试规程
- 测试执行阶段 ------- 测试报告
- 測试计划:指明测试规范、方法、资源,以及相应测试活动的时间进度安排表的文档
- 测试方案:指明为完成软件或软件集成特性的测试洏进行的设计测试方法的细节文档。
- 测试用例:指明为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档
- 测试规程:指明执行测试时测试活动序列的文档。
- 测试报告:指明执行测试结果的文档
- 测试日报:每天执行情况的记录和总结。
测试工程师系统测試各阶段任务
- 软件需求阶段:评审软件需求规格说明书
- 软件设计阶段:评审软件概要设计说明书、软件详细设计说明书、协助编写系统測试计划。
- 软件编码阶段:设计系统测试用例、准备测试资源(测试工具、测试环境)、开发测试脚本、开发测试工具、准备测试数据
- 軟件测试阶段:执行测试用例、提交缺陷单、跟踪缺陷、回归测试、提交测试报告。