一.在软件测试基础之前,我先了解计算机基础知识:
1.为什么需要计算机?
每天都要处理的信息是巨大的,如果是人工来对这些数据进行处理,效率是很低的。因此使用计算机来提高处理数据的速度。
2.计算机是什么?
是可以自动高效地完成计算的电子设备,俗称电脑(PC)
二.软件测试基础:
1.为什么需要软件测试:
(1)一款软件的诞生会经历很多的开发阶段,由于不同的人来参与开发,最终产出的软件功能会存在问题。这时我们采用测试,对软件进行测试,所以保证了软件的功能可用。
(2)不管是软件是否容易上手,执行效率是否高等一些列的要求,所以这也需要我们对软件进行大量的测试。
2.为什么选择软件测试:
想要让这款产品变得更加的完善,让用户用起来更加利索、方便,把错误率降到最低,所以需要测试。
3.软件测试定义:
通过手工或工具对“被测对象”进行测试操作,从而验证实际结果与预期结果之间是否存在差异
4.测试原则:
(1)测试证明软件存在缺陷:不管在执行什么样的测试操作都保能当前软件是否有缺陷的。
(2)不能执行穷尽测试:有些功能是没有办法将所有的测试情况逻列出来,任何的测试操作都有结束的时间
(3)缺陷存在群集现象:对于软件功能来说,核心功能占20%,非核心功能占80%,我们会集中测试20%的核心功能
(4)某些测试需要依赖特殊的环境
(5)测试应尽早介入:为了更多的发现和更好的解决软件中的缺点
(6)杀虫剂现象:同一样的测试不能多次测试,因为软件会对它产生免疫
(7)不存在缺陷谬论:任何软件不可能是完美的
5.测试级别(最常见的一种级别分类,如下)
(1)单元测试:软件中的最小可测试单元进行检查和验证,一般就是类、函数、组件。
(2)集成测试:在单元测试基础上,将多个单元模块组合在一起,进行集成测试。
(3)系统测试:测试人员充当用户然后对软件功能的主体进行测试(是当前行业做的最多的一种测试)
(4)验收测试(分为了两种测试):1.内侧、2.公测
6.系统测试分类:
(1)功能测试:验证当前软件主体是否可用
(2)兼容性测试:验证当前软件在不同的环境下是否可用
(3)安全测试:验证软件是否只能授权用户提供的功能使用
(4)性能测试:相当于当前软件消耗的资源、它的产出能力
7.常见的系统测试方法:
1.按测试对象进行分类:
(1)白盒测试:主要测试软件的底层代码(也就是看代码进行测试)
(2)黑盒测试:主要测试软件外在主体是否可用(也就是不看代码,直接进行测试)
(3)灰盒测试:介于二者之间的测试
2.按测试对象是否执行分类:
(1)静态测试:不执行
(2)动态测试:在真实的环境下进行测试
3.按测试手段进行分类:
(1)手工测试:人员手动对被测试的对象进行测试,优点是灵活的改变测试操作环境
(2)自动化测试(主要有两种形):1.自己写测试脚本,2.通过第三方的工具对被测试对象进行测试,优点是在高效率的执行有些人工无法的操作
8.软件开发过程模型:
瀑布模型:
(1)先是图片介绍:
(2)瀑布模型的优缺点:
优点:
开发的各个阶段比较清晰
早期计划及需要调查
适合需要求稳定的产品开发。
缺点:
依赖于早期的需求调查,不适合需求的变化。
单一流程不可逆
风险往往在后期才显露,失去纠正的机会,导致后期的时间不够用
(3)在瀑布模式的基础上,优化了瀑布模式,这个模式叫快速原型模式
第一:快速原型模型的图片介绍
第二:快速原型模式的优缺点
优点
克服瀑布模型的缺点
缺点
不适合大型系统的开发
适合小型的、灵活性高的系统
9.测试模型:
(1)V模型
第一:V模型图片展示
(2)解析当中V模型的设计、测试等
需求分析:用户需求、需求规格说明书
概要设计:模块与模块之间的接口、系统架构、模块的划分
详细设计:模块中的内部的逻辑与方法
编码:实现上面的设计
单元测试:检查开发的代码是否符合详细设计要求
集成测试:测试过的各组部分是否能玩好的组合到一起
系统测试:测试已经集成在一起的产品是否符合规格说明书打的要求
验收测试:测试产品是否符合用户的要求
(3)V模型的优点:
包含了高层测试:底层测试(单元测试)、高层测试(系统测试)
采用自顶向下的方法把整个开发过程分成不同的阶段,每个阶段的工作都很明确,当所有的阶段都完成之后,那开发的过程也随之结束
(4)V模型的缺点:
是由于自身的顺序性所导致的,很多前期的错误直到测试阶段才发现,甚至无法发现,随着往往无从修改
模型灵活性比较低
(5)W模型:
第一:W模型的图片介绍:
第二:W模型优缺点
优点
早期就进入测试,可以尽早的解决缺陷,把错误率降到最低
还便于控制整个项目过程
缺点
复杂性提高,对需求和设计的测试要求很高
(6)H模型
第一:H模型图片的展示
第二:H模型优缺点
优点
测试活动可以尽早准备、尽早执行、具有很强的灵活性
被测物的不同而分层次、分阶段、分次序的执行,同时也可以被迭代
缺点
管理型要求高、技能要求高、对于整个项目组的人员要求非常高、测试就绪点分析困难
10.等价类划分法:
是一种重要的、常用的黑盒测试,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可
11.边界值(边界值分析法也是一种常用的黑盒测试方法):
确定边界值情况、选取正好等于、刚刚好大于或者刚刚小于边界值作为测试数据、闭两边、开中间
12.因果图法的定义:
(1)特点:
考虑输入条件的相互制约及组合关系
考虑输出条件对输入条件的依赖关系
(2)因果图的核心:
因果图的“因”——输入条件
因果图的“果”——输出条件
(3)基本符号:
恒等含义:若原因出现,则结果出现; 若原因不出现,则结果也不出现
非含义:若原因出现,则结果不出现; 若原因不出现,则结果出现
或 含义:若几个原因中有一个出现,则 结果出现;若几个原因都不出现,则 结果不出现
与含义:若几个原因都出现,则结果 才出现;若其中一个原因不出现, 则结果不出现
(4)约束条件: