软件测试相关知识

软件测试的概念及分类 — 软件测试相关概念

软件测试的定义

通过手工或自动化的手段来运行或测定某个软件产品系统的过程,目的在于检测软件产品是否满足规定的需求,或者弄清楚预期结果与实际结果之间的差别。

软件测试的目的

  • 是为了发现程序中存在的错误而执行程序

  • 是为了证明程序有错,而不是证明程序无错误

软件测试工作流程

软件测试的阶段划分

软件测试的概念及分类 — 软件测试类型划分

功能测试

测试软件各个功能模块处理是否正确,业务逻辑是否正确,数据流转、呈现、处理和存储是否正确。

用户界面测试

测试用户界面是否美观,界面设计是否人性化、易操作,提示是否友好完善,不同屏幕分辨率下各界面显示是否正确、美观,软件支持的不同语言版本下,各界面显示的文字是否正确、美观等。

兼容性测试

主要测试浏览器兼容性、操作系统兼容性、硬件兼容性。

安装、卸载测试

正常情况下软件安装完成后可以正常运行,可以完全卸载; 用户无权限、硬件资源不满足等异常情况下能够给出准确的提示信息。

安全和访问控制测试

分应用程序级别、系统级别两个层次

  • 应用程序级别主要是用户登录、数据和功能权限控制的正确性。

  • 系统级别主要是服务器的访问控制和用户权限设置。

故障转移和恢复测试

  • 主服务器不能服务备用服务器接管服务

  • 主服务器恢复服务备用服务器停止服务

性能测试

包括负载测试、压力测试、并发测试、可靠性测试、失效恢复测试等。

发布测试

测试软件产品附带的各种说明书、帮助文档等。

软件测试入行指导和职业发展之路 — 软件测试入行要掌握的知识和技能

  • 软件测试相关的概念、术语、测试工作流程

  • 与人沟通、表述看法的能力

  • 测试用例设计方法

  • 基本的程序逻辑结构

  • 基本的数据库操作

  • 服务器日志查看方法

软件测试入行指导和职业发展之路 — 测试从业人员的持续学习

  • 软件所服务行业的业务知识

  • 公司软件测试涉及的相关工具

  • 提高个人工作效率和质量的工具

  • 提高测试团队工作效率的方法或工具

软件测试入行指导和职业发展之路 — 测试从业人员职业发展之路

软件测试的生命周期及原则 — 软件测试的生命周期

软件测试的生命周期及原则 — 软件测试的原则

软件测试的基本原则

站在用户的角度,从需求出发,对软件进行全面的、深入的测试,尽早、尽可多地发现Bug,并跟踪和分析软件中存在的问题,对不足之处提出质疑和改进意见。

软件测试的具体原则

  • 准备详尽的测试工作计划,并及时维护。

  • 所有测试的标准都应该建立在需求之上。

  • 事先定义好产品的质量标准,并不遗余力的去执行。

  • 尽可能早的开始测试工作。

  • 避免让程序员测试自己的程序。

  • 测试用例是设计出来的,不是写出来的。

  • 对发现错误较多的程序段,应进行更深入的测试;对于出错多的程序员编写的程序同样需要给予特别关注。

常用的软件测试模型 — 模型的概念和作用

模型的概念

通过主观意识借助实体或者虚拟表现、构成客观阐述形态、结构的一种表达目的的物件。在软件行业来说就是:对系统实现步骤或系统知识的抽象表示。

模型的作用

1.参与构造软件的人员之间沟通的基础 2.指导具体的软件实现过程 3.管理者制定相关工作计划的基础

常用的软件测试模型

  • V模型

  • W模型

  • X模型

  • H模型

软件测试的阶段划分

  • 软件测试的各个阶段

  • 软件测试各阶段工作重点

单元测试

单元模块内的功能测试、边界测试、容错测试、界面测试、控制流和数据流测试,以及模块内的业务流程测试等。

集成测试

系统集成以后的相关接口测试、功能测试、容错测试、约束测试,跨模块的业务流程测试等。

系统测试

系统性的初始化测试、功能测试、业务处理和数据处理测试、性能测试、压力测试、安装卸载测试等。

验收测试

在用户现场和用户一起对系统进行功能确认、用户需求确认、备份恢复测试、安全性测试等。

回归测试

系统使用过程中发现问题修改完成以后,测试对应的问题是否修改好了,测试新修改的功能是否引发新的缺陷,测试与修改代码相关的其它程序功能是否依然正确。

测试用例相关知识 — 测试用例的概念

为了特定的测试目的而设计的具有测试输入、测试执行条件、预期结果及结果验证方法的文档。

测试用例相关知识 — 测试用例的特点

  • 最有可能抓住错误的

  • 不是重复的、多余的

  • 一组相似测试用例中最有效的

  • 既不是太简单,也不是太复杂

测试用例相关知识 — 测试用例设计原则

  • 测试用例的代表性

  • 需求的可追溯性

  • 测试结果的可判定性、可再现性

  • 测试用例粒度的合适性

Bug相关知识 — Bug的概念

Bug就是程序的缺陷,是指软件程序运行过程中由于程序本身有问题导致的功能不正常、体验不佳、数据丢失、死机、非正常中断等现象。

Bug相关知识 — Bug相关要素

Bug相关知识 — Bug记录原则及技巧

Bug记录原则

  • 发现的所有问题都要记录Bug

  • Bug描述要清晰准确

  • 避免重复Bug

Bug记录技巧

描述简明扼要,最好附带错误截图,尽量抓取错误日志,说清错误发生场景,可附带自己对错误的推测分析。

边界值分析法相关概念 — 边界点相关概念

边界点分为上点、内点和离点

  • 上点:就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外。

  • 内点:就是域范围内的任意一个点。

  • 离点:就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开的,那离点就是域范围内离上点最近的点。

边界值分析法相关概念 — 边界值分析法的概念

就是对输入或输出域的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

边界值分析法相关概念 — 与等价类划分法的区别

  • 边界值分析法不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

  • 边界值分析法不仅考虑输入条件,还要考虑程序输出产生的测试情况。

使用边界值分析法设计测试用例 — 确定边界值的原则

原则一

如果输入或输出条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据。

例1.1 工人的工龄范围是大于等于0,小于等于50的整数。

边界值:-1,0,50,51

例1.2 用户登录软件系统时,软件根据用户的权限加载相关模块功能。

边界值:没有权限,有一个模块的权限,有所有模块的权限。

原则二

如果输入或输出条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据。

例2.1 报表定义中限定报表字段至少有两个字段,至多不能超过10个字段。

边界值:1,2,10,11

例2.2 查询结果多于15条记录时需要提供翻页功能。

边界值: 0,1,15,16

原则三

如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据。 例3.1 下拉列表选择控件的测试。

边界值:下拉列表第一个选项,下拉列表最后一个选项

例3.2 系统在编号从1-100的拓扑图中定位包含网元A的拓扑图,将含有网元A的拓扑图名称按照编号从小到大的顺序显示出来,在单击拓扑图名称后定位出网元A在拓扑图中的位置。

边界值:在包含网元A的编号最小的拓扑图中定位,在包含网元A的编号最大的拓扑图中定位。

原则四

如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。 例4 程序根据用户近三个月的消费状况给用户评级,月均消费超过3000元的用户或至少一个月消费超过5000的用户为优级用户,月均消费超过1500元或至少一个月消费超过3000元的为良级用户,月均消费超过800元的为潜力用户。

边界值:月均消费为 {3000,3001,1500,1501,799,800},不满足月均消费数据但某月消费{5000,5001,3500,3501}

使用边界值分析法设计测试用例 — 设计测试用例的原则

  • 给所有划分出来的等价类编号

  • 对所有有效等价类逐个确定边界值

  • 对所有无效等价类逐个确定边界值

  • 合并等价类和边界值设计出的测试数据中重复的数据

  • 分析程序规格说明书,应用确定边界值的各原则找出其它的边界值

使用边界值分析法设计测试用例 — 错误推测法

概念

就是根据经验和直觉推测程序中可能存在的各种错误,从而有针对性地设计测试用例的方法。

思路

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。

Contents
软件测试的概念及分类 — 软件测试相关概念
软件测试的定义
软件测试的目的
软件测试工作流程
软件测试的阶段划分
软件测试的概念及分类 — 软件测试类型划分
功能测试
用户界面测试
兼容性测试
安装、卸载测试
安全和访问控制测试
故障转移和恢复测试
性能测试
发布测试
软件测试入行指导和职业发展之路 — 软件测试入行要掌握的知识和技能
软件测试入行指导和职业发展之路 — 测试从业人员的持续学习
软件测试入行指导和职业发展之路 — 测试从业人员职业发展之路
软件测试的生命周期及原则 — 软件测试的生命周期
软件测试的生命周期及原则 — 软件测试的原则
软件测试的基本原则
软件测试的具体原则
常用的软件测试模型 — 模型的概念和作用
模型的概念
模型的作用
单元测试
集成测试
系统测试
验收测试
回归测试
测试用例相关知识 — 测试用例的概念
测试用例相关知识 — 测试用例的特点
测试用例相关知识 — 测试用例设计原则
Bug相关知识 — Bug的概念
Bug相关知识 — Bug相关要素
Bug相关知识 — Bug记录原则及技巧
Bug记录原则
Bug记录技巧
边界值分析法相关概念 — 边界点相关概念
边界点分为上点、内点和离点
边界值分析法相关概念 — 边界值分析法的概念
边界值分析法相关概念 — 与等价类划分法的区别
使用边界值分析法设计测试用例 — 确定边界值的原则
原则一
原则二
原则三
原则四
使用边界值分析法设计测试用例 — 设计测试用例的原则
使用边界值分析法设计测试用例 — 错误推测法
概念
思路