软件测试流程
获取测试需求
编写测试计划
制定测试方案
开发与设计测试用例
执行测试
提交缺陷报告
测试分析与评审
提交测试总结
准备下一版本测试
软件测试过程模型
(V/W模型要会画,H/X模型记住特殊点即可)
V模型
W模型
H模型
X模型
软件测试过程理念
思考题:
软件测试分类
按照开发的阶段划分
单元测试又称模块测试,是针对软件设计的最小单元—程序模块进行正确性检验的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。(一般要读程序和代码,大多数时候由开发人员完成,因为需要懂代码和算法)
集成测试也叫组装测试,在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。它检验的是程序单元或部件的接口关系。(比较多的涉及到接口测试,需要专门学习接口测试工具和方法,它是一个持续不断的过程)
确认测试(也称冒烟测试)确认软件的所有功能和性能是否与用户的预期要求一致,通过了确认测试之后的软件,才具备了进入系统测试阶段的资质
系统测试:在真实的系统运行环境下,检查完整的程序系统能否和系统(包括硬件,外设,网络,支持平台等)正确配置,连接,并最终满足用户的所有需求。
验收测试:软件产品检验的最后一个环节。一般有三种验收测试的主体
α测试:软件开发商自己交付前的测试
β测试:软件的需求方自己进行的测试
γ测试:第三方的外包软件测试公司
按照代码运行划分
静态测试:
不实际运行被测对象,只是静态地检查程序代码
分为代码测试;界面测试;文档测试
动态测试:
指实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
按照软件特性划分
功能测试:黑盒测试的一方面,检查实际软件的功能是否符合用户的需求;包括逻辑功能测试;界面测试;易用性测试;安装/卸载测试;兼容性测试
性能测试:功能的另一个指标,主要关注软件中的某一功能在指定的时间、空间条件下,是否使用正常
安全性测试:验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,不受各种因素的干扰
其他测试
回归测试:对软件的新版本测试时,重复执行之前某一个重要版本的所有测试用例。
目的:1,验证之前版本产生的所有缺陷已全部被修复; 2,确认修复这些缺陷没有引发新的缺陷
冒烟测试:在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性,也叫可测性测试
随机测试:指测试人员基于经验和直觉的测试,发现一些边缘性的错误
猴子测试:把自己当成不懂产品的小动物,随便乱点,没有任何主观意识和想法的参与进来,让一些意想不到的操作造成错误的结果
按照测试技术划分
黑盒测试
通过软件的外部表现来发现其缺陷和错误。把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面出进行测试,它只是检查程序是否按照需求规格说明书
白盒测试
灰盒测试
按照测试运行主体划分
1,手工测试(功能测试)(点点点)
2,自动化测试(利用工具软件、或者编写代码的方式,测试被测的软件系统)(例如游戏外挂)
补充知识
Post 隐藏用户传递的数据 Get显示用户传递的数据
B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器。B/S架构的系统无须特别安装,只有Web浏览器即可,因此也被称为瘦客户端架构。
C/S 架构是一种典型的两层架构,其全称是Client/Server,即客户端服务器端架构。C/S架构也可以看做是胖客户端架构,其客户端包含一个或多个在用户的电脑上运行的程序;服务器端有两种,一种是数据库服务器端;另一种是Socket服务器端。
例如:网页版QQ为B/S模式;APP版QQ为C/S模式
测试阶段(单元测试,集成测试)与测试技术无关(黑盒测试,白盒测试)
软件测试的原则
优点:细心,有耐心,善于与人沟通,语言表达能力好
缺点:内容扣的细,斤斤计较,强迫症;遇到问题穷追不舍
测试用例的定义
什么是测试用例?
设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的预期结果
如果软件按照测试用例运行达不到预期的结果,怎么办?
如果程序在这种情况下不能正常运行,而且这种问题会反复发生,那就表示软件程序人员已经测出软件有缺陷,这时必须将问题标示出来,并且通知软件开发人员。开发人员接获通知后,将问题修改完成于下一个测试版本内
开发人员说缺陷修复了,你认可吗?
去的新的测试版本后,必须利用同一个用例来测试这个问题,确保该问题已修改完成(回归测试)
测试用例模板和包含的内容
用例设计模板中的说明
1)标识符(用例编号):一般编号规则:TestCase 项目名称_模块名称_功能名称_0001
2)测试项:测试用例的测试目的。一般情况下,用一句话表明目的(例如:使用谷歌浏览器打开百度首页/输入正确的账号名和密码登录QQ)(表明你的测试模块、测试对象、方式、事件)
3)依赖用例:一般功能流程上,下游的功能测试依赖于上游的功能测试的用例(例如:QQ注册成功才能登录,登录功能的用例测试依赖于注册功能的用例测试)
4)测试步骤