软件测试技术的笔记
软件测试基本概念
什么是软件
软件工程里面的简单的表示为:软件=程序+数据+文档
软件测试包含了程序测试和文档测试(就是程序部分和文档部分),程序测试包含逻辑功能,界面,性能,易用性,兼容性,安装等,文档测试主要包含文档内容和截图检验,排版风格,错别字的校验等
测试包含软件测试,硬件测试
软件的分类
按照功能划分为系统软件,应用软件
按装技术划分:单机版软件,c/s或者b/s
按照用户划分:产品软件(针对大众),项目软件(指定人群)
什么是Bug
Bug泛指计算机中硬件或软件的错误
硬件错误:设计错误,硬件老化失效(它就不会因为工人操作失误吗)
软件错误:全是厂家设计错误(就是需要不符合使用者的要求)(软件本身就有复杂性,一致性,可变性,不见性的特点,所以很容易出错,而且开发人员一些开发不规范行为造成,不喜欢写注解)
常见错误分为三类:
没有实现相应的功能
基本实现用户需求,但运行时会出现一些功能或者是性能上的问题
实现了多余的功能
实际工作里面发现bug,记录bug,关闭bug是测试的主要的内容
需求的问题会比较抽象,用户需求一般体现在《系统需求规格说明书》,《系统需求规格说明书》绝不会等同于用户的需求
相关流程通常如下:
用户想要的-------用户所说的-----需求人员理解的-----《系统需求规格说明书》----开发人员理解的-----实际软件
需求的传递是有可能导致偏差的,这种可能也极大
关于需求,通常软件富含有市面实体商品的特征
(在早期年代里面,汽车就那样,大家也就喜欢开,后来汽车的制造商多了,竞争就上来需要创新了,再加上人们使用通用汽车也出现了一些问题,就是产生了需求,这时候汽车的发展就像火箭一般,需求是基于特定人群,这些人群有一定属性,如年龄,学历,性别,见识,新事物的接收能力,习惯,宗教信仰,文化,国家特点等,这些都会对软件的需求造成一定的影响,人的需求通常是抽象的,但会基于现有商品的不足提出需求,人的需求不是不变,市场营销里面就有现在需求和潜在需求,营销不仅是满足需求,也是在挖掘人们的需求,市场营销这里不多说了,但不管咋样软件也是一种商品它的需求是要满足特定人群的,挖掘人们潜在需求也是对于软件也是很重要的,可以快速占领市场,占领人们的电脑,手机,其他的移动智能工具。)
归回正题,在定需求说明书时,最好和客户直接交流,参与系统需求调研和评审,需求测试人员具备较强的沟通能力(有些公司连需求说明书都没有),这些bug就是来源需求制定的过程中,客户需求表达有缺陷,开发有问题,测试有问题,最后客户使用有问题
什么是软件测试
软件测试目的,就是测试软件能不能达到用户需求的要求,软件测试的手段是副产品
测试环境
什么是测试环境
软件测试是需求基于一定的测试环境,这个环境通常指的是,测试环境=硬件+软件+网络
怎样搭建测试环境
1.真实(尽量模拟用户的真实使用环境)
2.干净(测试环境中尽量不要安装其他与被测试软件无关的软件,就新电脑,当然测试完后也要在安装较多软件环境下测试一下,前面是为了总体测试,后面为了看能不能适应更加现实环境)
3.无毒(测试环境就好安装有杀毒软件)
4.独立(测试环境和开发环境独立)
软件环境的分类
其他环境有开发环境,运行环境,测试环境要与生产运行环境保持一致,从开发环境中独立出来
使用虚拟机VMare搭建测试环境(这个。。科班的应该很熟)
测试用例
什么是测试用例
测试用例就是指在测试执行之前设计的一套详细的测试方案,包括测试环境,测试步骤,测试数据,预期数据
简单用一个等式表示
测试用例=输入+输出+测试环境,输入包含测试数据和操作步骤,输出指的是期望结果,测试环境指的是系统环境设置
测试用例模板
不同的公司可能会有不同的测试用例书写模板,虽然风格和样式有所区别但它们本质都是一样的,测试用例的基本基本要素:测试环境,操作步骤,输入数据,期望数据
常用的测试用例模板就有两种:Excel模板(适合于功能),word模板(适合于性能)
编写测试用例的注意事项
4个w问题,why,when,who,what
为什么写用例
便于团队交流
便于跟踪统计
便于用户自测
什么时候写
需求规格说明书和测试计划都完成之后
由谁来写
测试人员来编写
根据什么来写测试用例
系统需求规格说明书和软件原型
软件测试分类
黑盒测试,白盒测试是软件测试领域中最基础的两个概念
黑盒测试,指的是把被测试的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子,只关心输入数据和输出结果,黑盒测试包括功能测试,也包括性能测试
白盒测试:指的是盒子打开去研究里面的源代码和程序结构
静态测试和动态测试
静态测试是指不实际运行被测软件,只是静态检查程序代码,界面,文档中可能存在的错误的过程
静态测试包含:代码测试,界面测试,文档测试
代码测试,主要测试代码是否符合相应的标准和规范
对于界面:主要测试软件的实际界面与需求中的说明是否相符
文档测试:主要测试用户手册和需求说明是否符合用户实际需求
动态测试,顾名思义就是实际运行被测程序
总结:黑盒测试可能是动态的,只看输入和输出,可能是静态测试,不运行查看界面
白盒测试可能是静态,可能是动态
动态可以是黑盒也可以看白盒
静态测试可以是黑盒,也可以是白盒测试