软件测试概述 您所在的位置:网站首页 简述测试的定义及目的 软件测试概述

软件测试概述

2024-07-08 01:26| 来源: 网络整理| 查看: 265

极客学院教程笔记

1.软件测试的概念及分类

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

软件测试的目的

是为了发现程序中存在的错误而执行程序;是为了证明程序有错,而不是证明程序无错误。

软件测试工作流程: 这里写图片描述

软件测试的阶段划分: 这里写图片描述

软件测试类型划分:

功能测试用户界面测试兼容性测试安装、卸载测试安全性和访问控制测试故障转移和恢复测试性能测试分布测试

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

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

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

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

安全和访问控制测试: 分应用程序级别、系统级别两个层次。

应用程序级别主要是用户登录、数据和功能权限控制的正确性。系统级别主要是服务器的访问控制和用户权限设置。

故障转移和恢复测试:

主服务器不能服务—>备用服务器接管服务主服务器恢复服务—>备用服务器停止服务

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

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

2.软件测试入行指导和职业发展之路

软件测试入行要掌握的知识和技能测试从业人员的持续学习测试从业人员职业发展之路

软件测试入行要掌握的知识就和技能:

软件测试相关的概念、术语、测试工作流程与人沟通、表述看法的能力测试用例设计方法基本的程序逻辑结构基本的数据库操作服务器日志查看方法

测试从业人员的持续学习:

软件所服务行业的业务知识公司软件测试涉及的相关工具提高个人工作效率和质量的工具提高测试团队工作效率的方法或工具

测试产业人员职业发展之路: 这里写图片描述

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

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

软件测试的生命周期: 这里写图片描述

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

软件测试的具体原则: 1、准备详尽的测试工作计划,并及时维护。 2、所有测试的标准都应该建立在需求之上。 3、事先定义好产品的质量标准,并不遗余力的去执行。 4、尽可能早的开始测试工作。 5、避免让程序员测试自己的程序。 6、测试用例是设计出来的,不是写出来的。 7、对发现错误较多的程序段,应进行更深入的测试;对于出错多的程序员编写的程序同样需要给予特别关注。

4.常用的软件测试模型

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

模型的作用:

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

常用的软件测试模型:

V模型W模型X模型H模型

V模型: 这里写图片描述

W模型: 这里写图片描述

X模型: 这里写图片描述

H模型: 这里写图片描述

5.软件测试的阶段划分

软件测试的各个阶段软件测试各阶段工作重点

软件测试的各个阶段: 这里写图片描述

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

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

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

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

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

6.测试用例相关知识

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

测试用例的特点:

最有可能抓住错误的不是重复的、多余的一组相似测试用例中最有效的既不是太简单,也不是太复杂

测试用例设计原则:

测试用例的代表性需求的可追溯性测试结果的可判定性、可再现性测试用例粒度的合适性

7.Bug相关知识

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

Bug相关元素: 这里写图片描述

Bug记录原则: 发现的所有问题都要记录Bug Bug描述要清晰准确 避免重复Bug

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

8.等价类划分法相关概念

测试用例设计方法之等价类划分方法。

等价类: 是指某个输入域的子集合,如果用集合中的一个输入数据作为测试数据进行测试不能发现程序中的错误,那么使用集合中其他输入数据进行测试也不能发现错误。也就是说,集合中各个输入数据对于揭露程序中的错误都是等效的。这样的一个集合就是一个等价类。 等价类分为有效等价类和无效等价类。

有效等价类: 是指由对于程序的规格说明来说有意义的、合理的输入数据构成的集合。

无效等价类: 是指由对于程序的规格说明来说不合理或无意义的输入数据构成的集合。

等价类划分法: 是指把程序的输入域根据等价类原则划分成若干部分,然后从每个部分中选取少数具有代表性的数据作为测试输入数据的一种方法。

9.使用等价类划分法设计测试用例

划分等价类的原则设计测试用例的原则

划分等价类的原则: 原则一.在输入条件规定了取值范围的情况下,可以确定一个有效等价类和两个无效等价类。 例1.1 工人的工龄范围是大于等于0、小于等于50的整数。 有效等价类:[0,50] 无效等价类: (-∞,0),(50,+∞) 例1.2 工人日下井时间大于8小时、小于等于9小时为正常上班考核基准。 有效等价类:(8,9] 无效等价类: (-∞,8],(9,+∞)

原则二.在输入条件规定了输入值的集合或者规定了“必须如何”的情况下,可以确定一个有效等价类和一个无效等价类 。 例2.1 登录系统的用户必须是系统中存在的用户。 有效等价类:系统中存在的用户 无效等价类:系统中不存在的用户 例2.2 工人年下井时间超过1500小时才能参与优秀职工评选。 有效等价类:年下井时长超过1500小时的工人 无效等价类:年下井时长小于等于1500小时的工人

原则三.在输入条件是一个布尔值的情况下,可确定一个有效等价类和一个无效等价类。 例3.1 删除系统数据时的二次确认功能。 有效等价类:确认删除操作 无效等价类:取消删除操作 例3.2 用户注册时只有同意使用协议才能进行下一步操作,否则终止。 有效等价类:同意使用协议 无效等价类:不同意使用协议

原则四.在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 例4 财务计算个人所得税。工资不超过500元的,税率是5%;工资在500至2000元的部分,税率是10%;工资在2000至5000元的部分,税率是15%;工资在5000至20000元的部分,税率是20%,超过20000元的部分税率是35%。 有效等价类:[0,500],(500,2000],(2000,5000],(5000,20000],(20000,+∞) 无效等价类:不在上面范围内的金额

原则五.在规定了输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。 例5 只有通过工程部、经理办公室、财务部全部步骤会签通过的项目才能启动。 有效等价类:三部门所有步骤会签通过的项目 无效等价类:只有一个部门通过的项目、只有两个部门通过的项目、三个部门部分步骤会签通过等

原则六.在确知已划分的等价类中各元素在程序处理中方式不同的情况下,则应再将该等价类进一步划分为更小的等价类。 例6 工人日下井时间大于8小时小于等于9小时为正常上班考核基准。 有效等价类:(8,9] 无效等价类:(-∞,8],(9,+∞) 其中无效等价类(-∞,8]可细分为(-∞,0),{0},(0,8] 无效等价类(9,+∞)可细分为(9,24],(24,+∞)

设计测试用例的原则:

为每一个等价类规定一个唯一的编号。 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖。 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有无效等价类都被覆盖。

10.边界值分析法相关概念

测试用例设计方法之边界值分析法

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

边界点分为上点、内点和离点 上点:就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外。 内点:就是域范围内的任意一个点。 离点:就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开的,那离点就是域范围内离上点最近的点。

边界点相关概念: 这里写图片描述

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

与等价类划分法的区别:

边界值分析法不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。边界值分析法不仅考虑输入条件,还要考虑程序输出产生的测试情况。

11.使用边界值分析法设计测试用例

确定边界值的原则设计测试用例的原则错误推测法

确定边界值的原则: 原则一.如果输入或输出条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据。 例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}

设计测试用例的原则:

给所有划分出来的等价类编号对所有有效等价类逐个确定边界值对所有无效等价类逐个确定边界值合并等价类和边界值设计出的测试数据中重复的数据分析程序规格说明书,应用确定边界值的各原则找出其它的边界值

错误推测法: 就是根据经验和直觉推测程序中可能存在的各种错误,从而有针对性地设计测试用例的方法。列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有