软件测试基础笔记
第一节 软件测试的概念及分类
1、软件测试概念:通过人工或自动手段对软件进行功能、性能、接口、安全、数据库、底层架构等进行深入、全方位测试的工作,全面保障软件质量能满足用户需求。
2、软件测试的法则:1功2可3易4效5维6移
案例:桌子 电梯 水杯
3、软件测试的目的:
1、测试是为了发现系统中的错误而执行程序的过程
2、好的测试方案在于尽可能发现迄今为止尚未发现的错误
3、成功的测试是为了发现至今为止尚未发现的错误的测试
4、软件测试的原则:
(1)所有的软件测试都应追溯到用户需求
(2)应尽早地和不断地进行软件测试
(3)完全测试是不可能的,测试需要终止
(4)测试无法显示系统所有潜在的缺陷
5、软件测试的对象:
软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象
(1)程序(2)数据(3)文档(4)过程(5)硬件(6)网络
6、优秀的软件测试应具备的素质
基本素质:打破砂锅问到底
1、探索精神:软件测试员不会害怕进入陌生环境(不害怕进入新环境,接触不同项目)
2、故障排除能手(善于发现底层问题,透过现象看本质)
3、不懈努力(不心存侥幸,尽一切可能去寻找bug)
4、创造性(富有创意、超常手段寻找缺陷)
5、追求完美(尽力追求完美)
6、判断准确(决定测试内容,测试时间,看到问题是否算作真正的缺陷)
7、老练稳重(不害怕坏消息)
8、说服力(善于表达)
7、软件测试的分类:
1、按阶段划分:单元测试、集成测试、系统测试、验收测试
(1)单元测试:测试粒度最小,一般由开发小组采用白盒测试,主要测试单元是否符合设计(静态测试和动态测试)
(2)集成测试:介于单元测试和系统测试之间,起到桥梁作用,一般由测试小组采用白盒加黑盒的方式来测试,既验证设计又验证需求。
(3)系统测试:力度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”
(4)验收测试:验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行
2、白盒测试、黑盒测试、灰盒测试
(1)白盒测试:测试源代码,主要在系统内部结构中测试
(2)黑盒测试:主要在应用端和服务器端,不用接触系统内部结构
(2)灰盒测试:介于白盒和黑盒之间的测试
3、静态测试:不用执行程序,通过人工或程序分析来证明软件的正确性
4、动态测试:通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题
8、黑盒测试策略
1、集成方法
1、自顶向下集成
1、方法:从主控模块开始,沿着程序的控制层次向下延伸逐步添加新的模块
2、添加模块的过程:深度优先、广度优先策略
3、优点:能够在测试早期检验主要的控制和关键的模块
4、缺点:需要编写大量的存根模块
2、自底向上集成
1、优点:只需编写驱动模块,无需存根模块
2、缺点:只有到最后才能看到程序的全貌
2、驱动模块:被测模块上层的驱动模块
3、存根模块:被测模块下层的存根模块
9、C/S与B/S区别
(1)C/S:需要安装客户端才可进行管理操作:用户的程序主要在客户端;开发比较容易,操作简单,但应用程序的升级和客户端维护较为困难。qq,微信,支付宝,百度地图,美团外卖
(2)B/S软件应用的业务逻辑完全在应用服务器端实现,用户操作完全在web服务器中实现,客户端只需要浏览器即可进行业务处理,只有初期一次性投入,有利于软件项目控制和避免IT黑洞。人人网,百度,csdn,淘宝网
第二节 黑盒测试策略及测试范围,架构定义
1、UI测试:用户界面测试,如图片像素,页面布局,CSS样式等
2、配置测试:测试系统服务器以及测试机配置是否满足产品及测试的要求(性能测试之前和手机端、PC端兼容性测试之前需要做配置测试)
3、表单值域测试:测试表单输入框的等价类、边界值,正交法等
4、数据完整性测试:测试系统的数据库是否异常,push、pull是否正确,是否存在遗漏的数据表。测试内容:(1)测试数据增删改是否准确(2)测试数据排序规则(排序算法)(3)动态数据和静态数据的测试
5、逻辑测试:测试软件的业务逻辑是否正确
6、业务流程测试:测试软件前后台的业务流程,每个分支和功能点是否均可跑通
7、逆向思维测试:测试软件在非正常操作下的处理事物的能力
8、接口测试:测试软件内部接口以及外部接口返回值是否正确,提示语是否正确并且友好
9、本地化测试:测试系统在外界环境下是否能够满足用户需求,例如翻译是否准确
10、回归测试:在项目上线并进行更新修改后,需要进行回归测试,确认之前没有问题的模块依然正常。
11、冒烟测试:用于集成测试之后的测试方法,确认软件是否满足系统测试要求(进入集成测试阶段与系统测试阶段的判断标准)
12、Cookie测试:测试软件缓存是否正确,清理缓存后的表现等
13、功能测试:就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求。
14、自动化测试:属于功能测试的范围,一般用于回归测试,减少很大工作量
15、性能测试:测试软件在各种状况下的性能,如吞吐量,响应时间,cpu占用率,内存占用率等情况
16、易用性测试:测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评估易用性
17、故障转移和恢复测试:模拟服务器在崩溃后备用服务器的承载能力,避免服务器崩溃后备用服务器不工作的情况
18、错误推断法:当发现一个BUG后,通过经验和直觉推测出可能因此BUG引发的其他问题的可能性
19、安全性测试:测试系统防止非法侵入的能力(sql注入和渗透测试)
20、兼容性测试:测试系统与其他软、硬件兼容的能力(PC端和APP端)
21、Alpha测试:一种先期的验收测试,此时系统刚刚开发完成(内部验收)
22、Beta测试:一种后期的验收测试,此时系统已通过内部测试,大部分错误已经改正,即将正式上线(外部验收)
23、随机测试:在系统内进行随机的页面和流程测试,一般由有经验的测试人员进行,通常不采用
第三节 设计测试用例方法及设计用例规范
1、测试用例:为实施测试,向测试系统所提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。其实就是要解决要测什么,怎么测和如何衡量的问题
2、测试用例的编写规范:
1、基本信息
(1)功能模块
(2)编写人
(3)执行结果
2、主体信息
(1)编号
(2)测试对象
(3)测试点
(4)预置条件
(5)测试步骤
(6)测试数据
(7)预期结果
8、用例优先级:高,中,低
3、执行结果
执行通过/不通过/未执行/无法执行,执行时间,缺陷编号
4、编写测试用例的原则:百分之百覆盖需求
3、设计测试用例的方法
1、大纲法:拆分系统模块
2、等价类:用来找到所有的正例和反例
1、有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合
2、无效等价类:是指对于程序的规格说明来说是不合理的、无意义的输入数据构成的集合
3、必填项
3、边界值:是对功能,值域方面的测试;最大值,最小值,最大值+1,最小值-1,中间值
字符长度的边界值
值域大小的边界值
4、因果图:是针对小组合的功能进行设计用例
5、场景法:基于系统流程的测试
6、正交法:组合过多用因果图不易看清的情况下
7、正则表达式:用事先定义好的规则,来控制输入框的参数内容
8、错误推断法:当发现一个BUG后,通过经验和直觉推测出可能因此BUG引发的其他问题的可能性
4、
软件测试
最新推荐文章于 2025-05-23 15:04:43 发布