初识软件测试-Blog1
1.软件测试是什么?
简单来说,软件测试就是对当前软件(该当前软件即为下文中的被测软件,软件测试的对象包括:程序和文档)进行查找缺陷(bug)的过程,软件测试的任务仅为查找缺陷,而非解决缺陷。
那么缺陷(bug)又是什么呢?
缺陷的常用定义有下列5种:
- 需求要求实现的功能,被测软件未实现
- 需求未要求实现的功能,被测软件却实现了
- 需求中虽未说明,但本应实现的一些常识性功能被测软件未实现
- 被测软件中出现了需求中指明不应出现的错误
- 被测软件存在运行缓慢、操作不便、界面功能难以理解等问题,即站在用户角度一切觉得不好的部分
补充:
软件的开发阶段包括:
需求分析阶段:参与人员-需求分析人员、产出物-《需求规格说明书》
设计阶段:参与人员-系统架构师/分析师、产出物-《概要设计说明书》和《详细设计说明书》
编码阶段:参与人员-开发人员、产出物-程序
上述缺陷定义中的需求,即指《需求规格说明书》中的内容。
测试过程应尽早介入,并贯穿于开发周期的始终。
需要知道的是,软件不是完美的,每个软件中或多或少地存在bug,正如没有完美的人一样。
测试人员的职责是尽可能多地查找缺陷,而非消灭缺陷。
2.软件测试可被划分为哪些阶段?
软件测试可被分为单元测试、集成测试、系统测试、验收测试阶段。
2.1单元测试
测试对象(即下文中的被测模块):一个模块、一个窗口、一个函数、一个类(class)等。
特点:
- 是最小测试单位
- 测试过程中参考《详细设计说明书》文档
- 采用白盒测试方式
- 测试过程中测试人员需编写驱动模块和桩模块
补充:驱动模块和桩模块
驱动模块:模拟被测模块的上一级模块。(调用“被测模块”的)
桩模块:模拟被测模块的下一级模块。(被“被测模块”调用的)
流程总结:驱动模块→被测模块→桩模块
2.2集成测试(也叫组装测试)
测试对象:逐步合并的功能模块
特点:
- 测试过程中参考《概要设计说明书》文档
- 采用黑盒测试(主)+白盒测试(辅)方式
- 集成测试之前需进行冒烟测试
补充:
1.黑盒测试:测试软件的输入和输出
2.白盒测试:测试软件的内部程序
3.冒烟测试:测试新版本软件的核心功能和主要业务
2.3系统测试
测试对象:集成了软件和硬件的完整系统
特点:
- 在模拟真实使用的环境下,进行测试
- 测试过程中参考《需求规格说明书》文档
- 采用黑盒测试方式
- 系统测试之前需进行确认测试
补充:
确认测试:测试软件是否为集成了软件和硬件的完整系统,以及确认各类相关文档(包括:交付给用户的文档和参与认证的文档)是否准备齐全。
系统测试的目的:
(1)测试完整系统是否能在满足用户的使用需求时并正常运行。
(2)测试完整系统的兼容性。
2.4验收测试(UAT:User Acceptance Testing 用户接受度测试)
测试对象:发布前的软件
特点:
- 是由用户参与的测试过程。
- 参考用户的真实使用需求。
- 可分为两个阶段:
alpha(α)测试–在软件公司指定的使用环境下,由用户参与的测试过程。
beta(β)测试–在最终用户的实际使用环境下,由最终用户对软件检查的过程。
3.功能测试常用的测试方法?
功能测试也叫黑盒测试,其常用的测试方法有如下7种:
3.1等价类划分法
适用情况:在软件中需要输入数据的地方。
特点:
- 抽样测试–将大量数据划分成若干个范围,再从每个范围中挑选代表数据进行测试。该方法可将无穷测试变为有限测试,有利于提升测试效率。
- 类别划分:
有效等价类:对软件来说,正确的、合理的输入数据的集合。
无效等价类:对软件来说,错误的、不合理的输入数据的集合。
使用步骤:
步骤1:分析需求,初步划分等价类。
步骤2:细分等价类。
步骤3:记录测试点,并填写《等价类表》。
步骤4:编写测试用例。
3.2边界值法
适用情况:在软件中需要输入数据的地方。
特点:
- 对测试数据范围的边界值进行测试。
- 是对等价类划分法的有力补充。
- 边界值划分:
边界值点:有效等价类和无效等价类之间的分界点,包括最大值(max)、最小值(min)。
次边界值点:边界值左右两边相邻的点,包括有效最小次边界(min+)、无效最小次边界(min-)、有效最大次边界(max-)、无效最大次边界(max+)。
使用步骤(等价类划分法和边界值法综合):
步骤1:分析需求,确定测试方法。
步骤2:使用相应的方法分析,提取测试点,填入到《数据分析表》。
步骤3:设计测试方案(思路),编写测试用例。
3.3场景法
适用情况:测试软件的业务流程或业务逻辑。
特点:
- 测试过程中,模拟用户使用软件的各种场景。
- 场景分类:
基本流:也叫有效流或正确流,即模拟正确的业务实现的场景。
备选流:也叫无效流或错误流,即模拟错误的业务实现的场景。
使用步骤:
步骤1:分析需求,整理业务,列出基本流、备选流。
步骤2:生成场景,填写场景表。
步骤3:根据场景,执行测试,记录测试结果。
3.4判定表法
适用情况:在软件界面中有多个控件,控件之间存在组合或限制关系,在控件中不同输入条件组合对应不同输出结果,为理清不同输入条件组合于输出结果之间的对应关系。
适合测试组合数量较少的情况。
使用步骤:
步骤1:分析需求,列出所有的输入条件。
步骤2:列出所有的输出结果。
步骤3:分析输入条件中有哪些组合和限制关系。
步骤4:确定每个输入条件组合对应的输出结果,通过判定表记录下来。
步骤5:编写测试用例。
3.5因果图法
适用情况:在软件界面中有多个控件,控件之间存在组合或限制关系,在控件中不同输入条件组合对应不同输出结果,为理清不同输入条件组合于输出结果之间的对应关系。
特点:
- 逻辑关系:恒等、与、或、非。
- 限制关系:互斥(E-exclude)、唯一(O-only)、包含(I-include)、要求(R-required)、覆盖(M-masked)
使用步骤:
步骤1:分析需求,列出所有的因。
步骤2:列出所有的果。
步骤3:分析因中有哪些组合和限制关系。
步骤4:确定每个因组合对应的果,通过因果图记录下来。
步骤5:编写测试用例。
3.6正交排列法
适用情况:在软件界面中有多个控件,每个控件有不同取值,不同控件取值之间存在组合关系,但组合数量较多时,不应测试所有组合,而应挑选最优、最少的组合进行测试。
特点:
- 是一种较为优化的测试方法。
- 依赖于正交表。
- 正交表公式:Ln(mK)
L:Line ——行
n:代表正交表有几行(n是计算好的,测试人员无需计算)
m:每列的最大数值
k:代表正交表的列数
如:L9(34)
9行4列 每列最大值3。
使用步骤:
步骤1:分析需求,列出参与组合的控件和每个控件的取值。
步骤2:挑选合适的正交表。
方法:需要确定m值和k值
m值:测试时由每个控件的取值个数决定。
m=3
k值:测试时由参与组合的控件个数决定。
k=4
结论:要挑选3的4次幂的正交表。
步骤3:应用正交表。
控件——正交表的因子(正交表列标题)
控件取值——正交表对应列的状态(数值:1,2,3…)
步骤4:编写测试用例(每一行代表一个组合)。
3.7测试大纲法
适用情况:软件中有多个窗口,每个窗口中有多个操作点,不同窗口操作点之间存在关系,为理清窗口之间的关系。
使用步骤:
步骤1:分析需求,列大纲(可使用思维导图工具整理每个窗口和每个窗口的操作点之间的关系)。
步骤2:分析大纲,理清窗口之间关系,编写用例。
以上为个人总结,若有错误望指正,笔芯
初识软件测试-Blog1相关推荐
- 初识软件测试_(转)
第一章 – 理解软件测试 1. 软件测试的概念 广义概念:指软件生存周期中所有的检查.评审和确认工作,其中包括了对分析.设计阶段,以及完成开发后维护阶段的各类文档.代码的审查和确认 狭义概念:识别软件 ...
- 初识软件测试——什么是软件测试?
软件测试--重点掌握:测试用例方法及用例书写 开发模型.测试模型的掌握· 自动化测试环境搭建.样例分析 目录 软件测试的目的和原则 1.什么是软件测试? 1.1测试与调试的区别 1.2软件测试和研发的 ...
- 好书推荐:《零基础快速入行入职软件测试工程师》学测试一本就
推荐理由: 全面介绍软件测试的基础知识,帮助零基础读者快速入门! 详细讲解自动化测试和接口测试,帮助读者快速进阶! 深入解析操作系统和数据库,帮助读者进一步提高测试水平! 本书具有以下特点: 1.对初 ...
- 学软件测试看什么书籍推荐?
软件测试自从有编程行业开始这个行业就有存在,在软件或者功能上线之前都离不开软件测试工作者的努力,否则你用到的软件很可能会出现这样那样的BUG.今天小千就为那些想要从事软件测试工作的同学推荐几本零基础也 ...
- 【软件测试】快速入行软件测试
快速入行软件测试 1.初识软件测试 软件测试的前景与现状 软件测试越来越被企业重视,人才稀缺,市场需求扩大. 软件测试人员的职业生涯规划 技术型路线.自动化测试工程师.性能测试工程师.安全测试工程师等 ...
- 软件测试的背景和前期准备
目录 一.初识软件测试 1.1 测试软件的类型 1.2 软件测试的流程 1.3 测试类型 二.软件测试和测试环境 2.1 软件的分类 2.2 软件测试和测试环境 三.微型计算机的组成 3.1 虚拟内存 ...
- 软件测试入门知识——学习笔记
对软件测试的粗浅认知 个人简单的认知,软件测试是为了保证软件的质量而采取的措施. 初识软件测试 本人实际从事后端软件开发工作有一年多的时间,由于最近一直待在运维的项目中,对软件测试产生了兴趣,便踏上了 ...
- 精美网页设计案例_用户体验设计的精美艺术
精美网页设计案例 There are interactive experiences that simply blow you away. You know it's been a positive ...
- 软件测试思想者 - 初识抑郁症
软件测试思想者 - 初识抑郁症 谈到对抑郁症的关注,源自于一个亲戚患了抑郁症.中国目前抑郁症的患病率达到5%-7%,有年纪大的,也有年龄小的,大有越来越年轻化的趋势.在喜马拉雅上收听了"张进 ...
最新文章
- 大数据风控-反欺诈之黑卡与养卡
- mysql创建数据库1064_Mysql创建表过程中报1064错误
- 吴恩达机器学习笔记:(四)矩阵、多元梯度下降
- json对象和json字符串之间的转化
- mysql 5.7 hint_新特性解读 | MySQL 8.0 新增 HINT 模式
- C语言逻辑运算符 - C语言零基础入门教程
- CentOS7 通过wget下载文件到指定目录
- android按键事件响应函数,android 响应按键按下的onKeyDown()函数?
- 你真明白 Python 装饰器么?
- 2017-2018-2 20155315《网络对抗技术》Exp3:免杀原理与实践
- 【Android】Listview返回顶部,快速返回顶部的功能实现,详解代码。
- iPhone开发教程 UI基础课程(58课时)
- [Z]在线版本控制之SubVersion与MyEclipse整合
- libevent参考手册 系列文章
- 四月,诗月,你是最美人间四月天。
- HDU 1317 一路wa到西天
- 二进制除法移位相减_二进制除法计算器
- CSS样式写出三角形
- LAD-lasso和线性规划算法
- Matlab编写S函数,实现y=ku+b