1. 软件缺陷与软件故障
1.1 软件缺陷与软件故障案例
2018年拼多多2014年12306
1.2 软件缺陷的定义
1.软件未达到产品说明书的功能 《需求文档》
2.软件出现了产品说明书指明不会出现的错误
3.软件功能超出产品说明书指明范围
4.软件未达到产品说明书虽未指出但应达到的目标
5.软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
1.3 软件缺陷的特征
1.软件的特殊性决定了缺陷不易看到,即“看不到”;
2.发现了缺陷,但不易找到问题发生的原因所在,即“看到但是抓不到”。
2. 软件缺陷产生的原因
占比:编写代码15%/设计26%/编制说明书55%/其他4%
3. 软件测试和缺陷修复的代价
缺陷发现的越早,则修复这个缺陷的代价就越小,发现缺陷后修复的代价都会比在前一个阶段修复的代价提高10倍
二、软件测试基础理论
1. 软件测试定定义
1.1 狭义
程序测试是为了发现错误而执行程序的过程这个定义,被业界所认可,经常被引用
1.2 广义
为了更早地发现问题
1.3 软件测试的定义
软件测试是贯穿整个软件开发生命周期其目的是尽快尽早地发现在软件产品中所存在的各种问题
2. 软件测试的现状
现状:初期、不成熟、浮躁
3.软件测试的前景
技术路线-------软件测试工程师-------中级测试工程师--------高级测试工程师-------技术专家-----测试总监
5.优秀的测试人员的基本素质
缜密的思维能力 良好的心理素质 正确的测试态度 性格:要有好奇心,成就感
6. 软件工程的目的
要从三方面考虑 成本 进度 质量
7. 程序测试包含哪些内容
程序测试包括程序逻辑功能,界面,性能,易用性,兼容性,安装等测试,当然文档测试也算,排版,字体大小,也算程序测试的内容
8. 测试环境
测试环境=硬件+软件+网络
硬件环境:pc机还是笔记本
软件环境:不同的操作系统windows10 windows8 windows7 Linux Mac ,
不同浏览器firefox chrom
网络:局域网还是互联网
9. 测试流程
需求评审 → 测试计划制定 → 测试计划执行 → 发布与测试报告总结
1.黑盒测试和白盒测试
黑盒测试(Black Box -Test):把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什么样子,只关心软件的输入数据和输出结果
有人把黑盒测试比作中医,通过“望闻问切”来判断是否有问题。
“望”:观察软件的行为是否正常。
“闻”:检查输出的结果是否正确。
“问”:输入各种信息,结合“望”,“闻”来观察软件的响应。
“切”:像中医一样给软件“把把脉”,敲击一下软件的某些“关节”
2.静态测试和动态测试
静态测试:不实际运行被测试软件,而只是静态的检查程序代码、界面或者文档中可能存在的错误的过程。
动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
3.1.功能测试
功能测试 逻辑功能测试 界面测试 易用性测试 安装测试 兼容性测试 硬件兼容性 软件兼容性测试
3.2.性能测试
时间性能 空间性能 一般性能测试 稳定性测试 负载测试 压力测试
4.回归测试、冒烟测试、随机测试
4.1.回归测试
是指对软件的新版本进行测试时,重复执行上一个版本测试时的用例,比如在1.0版本中,有一个bug,到了2.0版本中,再重新测试1.0中这个bug
4.2.冒烟测试
指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
测试小组在正式测试一个新版本之前,先指派一两个测试人员测试一下软件的主要功能,如果没有实现,则打回开发组重新开发,这样做可以节省大量的时间成本和人力成本。
4.3.随机测试
是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
5.单元测试、集成测试、系统测试和验收测试
5.1.单元测试
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证
5.2.集成测试
集成测试是单元测试的下一个阶段,是指将通过测试单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分。
5.3.系统测试和验收测试
集成测试完成之后,就是系统测试和验收测试。
系统测试:指的是将整个软件系统看做一个1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
系统测试:由黑盒测试人员在整个系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境的兼容性等。
验收测试:以用户为主的测试,软件开发人员和质量保证人员参加。