第一章 测试基础
1. 什么是软件测试:
利用手工或自动化,按照测试方案对系统执行测试用例的过程
两个依据(需求、测试用例),两个方法(手工、自动),一个对比(预期结果和实际结果的对比) 软件缺陷(不能完成其定义功能的各种瑕疵)规则:
1.未能达到产品说明书表明的功能。
2.软件出现了产品说明书指明不会出现的错误。
3.软件功能超出产品说明书指明范围。
4.软件未达到产品说明书虽未指出但应达到的目标(即默认功能 基础规则 例如:密码密文输入)。
5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
2. ★软件测试的目的、意义:(怎么做好软件测试)
初期: 尽量多的发现缺陷生成相关规范
中期: 尽量早的发现缺陷
后期: 尽量预防问题:通过以往的经验积累
控制成本(贯穿始终)尽量少的时间和人力发现更多的缺陷,并确保其被修复
3.软件生命周期:
1.瀑布模型:特点:是将生命周期线性排列其各项活动规定形成若干阶段性工作,适用于需求非常明确
2.快速原型模型:本质:“快速”尽可能快地构造出原型系统,以加速软件开发过程节约软件开发成本
原型用途(即演示程序)是获知用户真正的需求(抛弃型原型和演进型原型)适用于项目需求不太明确或者需要减少项目的不确定性的情况(即不断的修改创建“原型”最终交付)。3.迭代-增量模型:特点:每次提交的都是可满足用户需求子集的可运行的产品。优点:用户每次都可以得到一个可完成部分功能的可用产品,并且有足够时间去学习和适应新产品;但是对软件体系结构设计要求高,且结构必须开放。
4.螺旋模型:使用原型及其它方法来尽量降低风险。(看作是在每个阶段之前都增加了风险分析过程的快速原型模型)
5.喷泉模型:软件迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。
“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。
改正性维护:诊断和改正在使用过程中发现的软件错误(软件在使用中的问题错误)
适应性维护:修改软件易适应环境的变化(系统等环境的更换) 完善性维护:根据用户的要求改进或扩充软件使它更完善(模块功能的增减)
预防性维护:修改软件为将来的维护活动预先做准备(提前为用户大了涌入准备)
第二章 测试过程
1.测试模型
H模型:
V模型(层级越低越深入):
第二章补充 环境搭建(补充:测试环境的搭建)
1.测试环境(用来运行软件的环境)=硬件+软件+网络+数据准备+测试工具
2.测试一款软件时必然要考虑硬件配置(大小,容量)
3.软件环境(软件运行的操作系统-兼容性)
4.网络环境(C/S客户端/服务器或B/S浏览器/服务器结构)
注:1.C/S结构是一种软件系统体系结构,也是生活中很常见的。这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、王者荣耀等应用程序就是C/S结构。
注:2.B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。你只需要在自己电脑或手机上安装一个浏览器,就可以通过web
Serve与数据库进行数据交互。注:3.硬件环境不同,C/S通常是建立在专用的网络上,小范围的网络环境。而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行;C/结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强;B/S结构维护升级比较简单,而C/S结构维护升级相对困难。
5数据准备:主要是测试数据的准备(数据的量和真实性)
6.测试工具:静态测试工具、动态测试工具、黑(白)盒测试工具(手机刷机、抓包等)
第三章 动态黑盒测试方法
1.掌握软件测试的分类
黑盒测试:完全不考虑程序内部的结构和处理过程,只是按照规格说明书的规定来检查程序是否符合他得功能要求,测试用例只关注输入和预期输出,又称为功能测试Function(行为Behavioral、数据驱动测试Data-driven)
白盒测试:根据程序内部的逻辑结构进行测试,又称为结构测试Structure(逻辑测试)(流程图Logic-driven)
静态测试:指不运行程序,而只是检查和审阅代码、文档等(走读)
动态测试:运行和使用软件
静态 | 动态 | |
---|---|---|
黑盒 | 静态黑盒 | 动态黑盒 |
白盒 | 静态白盒 | 动态白盒 |
1.掌握测试用例的概念
2.掌握用等价类划分法设计测试用例的黑盒测试技术
3.掌握边界值法设计测试用例的黑盒测试技术
4.基本掌握状态测试方法和因果图、决策表设计测试用例的黑盒测试方法
(等价类划分法、边界值法、因果图决策表法、状态测试法、场景分析法)
1. 等价类划分法:
一、方法简介
1.定义
是把所有可能输入的数据(根据程序规格说明书),划分为若干互不相交的部分(子集)称为等价类,然后从每一个子集中选取少数具有代表性的数据作为测试用例。
2.划分等价类原理(解释)
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定: