2019-10-22 09:29:38 XingLongSKY 阅读数 47
  • 软件测试2小时入门

    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型; 2.常用的黑盒测试用例设计方法及示例演示; 3 常用白盒测试用例设计方法及示例演示; 4.自动化测试优缺点、使用范围及示例‘; 5.测试经验谈。

    2077 人正在学习 去看看 曹红杏

##软件测试52讲笔记01“用户登录”测试用例设计

这里茹炳晟老师举了一个最简单,并且最常见的测试场景–登录。不管是APP还是WEB页面,登录是所有测试工程师都绕不开的测试点。一个简单的登录你是如何设计测试用例的?最常用的设计用例方法-等价类、边界值如何理解?

如何理解最常用的测试用例设计方法—等价类

等价类划分:把所有可能的输入数据划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试数据,就可以用少量代表性的测试数据。

等价类划分法分为:有效等价类和无效等价类

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

无效等价类:无意义的,不符合需求规定的集合。

如何用等价类划分设计用例?

一般有如下几个步骤:

  • 划分等价类和非等价类并编号。
  • 设计组合方式和可能性。
  • 根据组合选择数据生成测试用例。

例如注册功能:

用户名要求:6到10位字符首字母必须是字母或数字,不能为空和汉字。
密码要求:6到10位字符,不能为空和汉字。
确认密码:与密码一致。
划分等价类和非等价类:

如何理解最常用的测试用例设计方法—边界值

经验告诉我们,一般大量的错误都是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。

通常输入和输出等价类的边界,就是应着重测试的边界情况。

应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

一般要取边界点上的上点、内点和离点。
上点:边界上的点
内点:区间内的点
离点:离边界值最近且与上点不属于同一等价类的点。

综合以上测试用例如下:

  • 正确的用户名和正确的密码
  • 正确的用户名和不正确的密码
  • 错误的用户名和任意密码
  • 用户名和密码都为空
  • 用户名为空或者密码为空
  • 用户名和密码长度校验
  • 用户名和密码字符校验
  • 用户名和密码是否区分大小写
  • 密码是否加密显示
  • 首次登录是否是否需要提示修改密码
  • 忘记密码功能是否正常

除了正确用户名和密码外,其他错误场景都需要给出错误提示。

当然,上述是登录最最基本的测试点,如果登录中设置了验证码或者其他登录校验,则需要增加如下测试点:

  • 正确的用户名密码,正确的验证码
  • 正确的用户名密码,错误的验证码

**

安全性相关测试用例举例:

  • 密码是否加密传输和存储
  • 登录是否设置有效期
  • 不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面;
  • 密码输入框是否不支持复制和粘贴 是否支持互斥登录

性能压力测试用例包括:

  • 单用户登录的响应时间是否小于3秒
  • 单用户登录时,后台请求数量是否过多;
  • 高并发场景下用户登录的响应时间是否小于5秒;
  • 并发场景下,是否存在资源死锁和不合理的资源等待;
  • 长时间并发登录操作,服务器端是否存在内存泄漏。

兼容性测试用例包括:

  • 不同浏览器的界面显示是否兼容。
  • 不同版本的浏览器是否兼容
  • 不同系统版本是否兼容
  • 不同分辨率是否兼容
2017-01-13 10:06:37 qq_33642117 阅读数 2163
  • 软件测试2小时入门

    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型; 2.常用的黑盒测试用例设计方法及示例演示; 3 常用白盒测试用例设计方法及示例演示; 4.自动化测试优缺点、使用范围及示例‘; 5.测试经验谈。

    2077 人正在学习 去看看 曹红杏

1.测试用例概述


如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。
测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。 


1.1  什么是测试用例

  • 测试用例可以独立进行测试执行的最小单元
  • 测试内容的一系列情景和每个情景中必须依靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例。
  • 测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
  • 软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例

1.2  为什么需要测试用例

  • 在开始实施测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的不完全性;
  • 测试用例的使用令软件测试的实施重点突出、目的明确;
  • 根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;
  • 减少回归测试的复杂程度,在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;
  • 功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断细化其效率也不断攀升;
  • 根据测试用例的操作步骤和执行结果,为分析软件缺陷和程序模块质量提供依据;可以方便地书写软件测试缺陷报告;
  • 可以根据测试用例的执行等级,实施不同级别的测试;
  • 便于大型软件测试项目外包测试指导基础;

1.3  良好测试用例的特征

可以最大程度地找出软件隐藏的缺陷
可以最高效率的找出软件缺陷
可以最大程度地满足测试覆盖要求
既不过分复杂、也不能过分简单
使软件缺陷的表现可以清楚的判定
  • 测试用例包含期望的正确的结果
  • 待查的输出结果或文件必须尽量简单明了
不包含重复的测试用例
测试用例内容清晰、格式一致、分类组织

1.4  测试用例的组成元素与范例



2.白盒黑盒测试用例设计方法


2.1  白盒测试用例的设计方法

逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等
基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。


白盒测试用例注意事项:
由于测试路径可能非常多,由于时间和资源问题,选出足够多的路径测试
由于深入到程序编码,通常开发人员协助测试人员书写白盒测试用例


2.2   黑盒测试用例的设计方法

黑盒测试用例的设计方法之一:
等价类划分:
  • 在分析需求规格说明的基础上划分等价类,列出等价类表。 
  • 将程序可能的输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例,等价类是某个输入域的子集,在该子集中每个输入数据的作用是等效的。
  • 等价类的分类:有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可以检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反。
注意:设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。经过正反的测试才能确保软件具有更高的可靠性。

2.2.1   确定等价类的方法

1.在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

2.在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。


3.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
4.在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。



2.2.2  等价类测试用例-Example

等价类1: Integer
等价类2: Decimal fraction
等价类3: Negative
等价类4: Invalid input



2.2.3  根据等价类创建测试用例的步骤

  • 建立等价类表,列出所有划分出的等价类:

  •  为每个等价类规定一个唯一的编号;
  •  设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;
  •  设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。

2.3  边界值测试用例设计方法

程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。
设计方法:
  • 确定边界情况(输入或输出等价类的边界)
  • 选取正好等于、刚刚大于或刚刚小于边界值作为测试数据

2.3.1  确定边界值的方法

如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。




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


如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。


2.3.2   一些特殊的边界值



2.4  错误推测法测试用例设计

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例。
发现程序经常出现的错误的方法:
  • 单元测试中发现的模块错误;
  • 产品的以前版本曾经发现的错误;
  • 输入数据为0或字符为空;
  • 当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;
  • 这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入
2.5   测试场景法设计测试用例

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

2.6  因果图法测试用例设计

多种输入条件的组合,产生多种结果设计测试用例。
设计方法:
  • 分析软件规格说明文档描述的哪些是原因(输入条件),哪些是结果(输出条件),给每个原因和结果赋予一个标示符。
  • 找出原因与结果,原因与原因之间的对应关系,划出因果图
  • 在因果图上标上哪些不可能发生的因果关系,表明约束或限制条件
  • 根据因果图,创建判定表,将复杂的逻辑关系和多种条件组合很具体明确的表示出来
  • 把判定表的每一行作为依据设计测试用例。

3.测试类型与测试用例设计




3.1  设计测试用例的策略选择

  • 测试用例的设计方法不是单独存在的,具体到每个测试项目里都会综合运用多种方法
  • 首先进行等价类划分,包括输入条件和输出条件,将无限测试变成有限测试
  • 在任何情况下都必须使用边界值分析方法。经验表明用这种方法设计出测试用例发现程序错误的能力最强。
  • 对照程序逻辑,检查、补充测试用例,以达到逻辑覆盖程度的要求。
  • 对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程。
3.2  测试用例设计工具




3.3  案例研究1:根据输入判断三角形的形状

测试场景:
一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。 

确定输入数据与三角形形状的关系:
设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足:
A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B;
如果是等腰的,还要判断A=B,或B=C,或A=C;
如果是等边的,则需判断是否A=B,且B=C,且A=C。

创建等价类表:



确定等价类输入数据:



3.4  案例研究2:测试用户登录对话框的功能

测试场景:
在各种输入条件下,测试程序的登录对话框功能。
用户名和密码的规则如下:
 用户名长度为6至10位(含6位和10位)
 用户名由字符(a-z、A-Z)和数字(0-9)组成
 不能为空、空格和特殊字符
 密码规则同用户名规则 



确定输入数据的情形:



确定具体的输入数据:




3.5   案例研究3:压力/负载测试用例设计

设计目的:
  •  验证程序在承受某种负载或压力下是否能够正常运行
  •  找出程序安全运行的临界值
适用情形:
  •  服务器/客户机局域网
  •  服务器/浏览器互联网
设计方法:
设计出不同等级的压力条件

压力/负载分类与代号:
  •  CPU速度CS
  • CPU使用量CU
  • 磁盘空间DS
  • 物理内存PM
  • 虚拟内存使用量VM
  • 登录用户的数量UN
  • 传输带宽BW
  • 传输数据的大小DN


2018-03-07 11:02:44 Apple126_xiaobai 阅读数 5773
  • 软件测试2小时入门

    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型; 2.常用的黑盒测试用例设计方法及示例演示; 3 常用白盒测试用例设计方法及示例演示; 4.自动化测试优缺点、使用范围及示例‘; 5.测试经验谈。

    2077 人正在学习 去看看 曹红杏

在编写web网址的测试用例的时候,最常见的就是登录,注册两种场景。下面我根据自己浅薄的测试经验记录下编写这2种测试场景的用例。

登录:

考虑的常见场景:

1、用例是否考虑A的用户名+B的密码?(后端)
2、用例是否考虑母账号被禁用,子账号是否能登录?
3、用例中是否考虑,一个用户多地登陆的场景?
4、用例是否考虑登录时,密码是否明文显示?
5、用例是否考虑登录按钮只能在用户名或者密码文本框都符合格式下点击才能发送请求?(前端)
6、用例是否考虑未注册用户名的登录?
7、用例是否考虑用户名输入格式(特殊字符,中英文字符,字符长度,为空)?
8、用例是否考虑密码文本框格式(特殊字符,中英文字符,字符长度,为空)?
9、用例是否考虑登录错误次数太多,极验是否弹出?
10、用例是否考虑记住用户名的情况下,直接关闭页面,再次打开登录页面,是否直接登录成功?
11、用例是否考虑记住用户名的情况下,点击退出,再次打开登录页面,是否直接登录成功?
12、用例是否考虑没记住用户名的情况下,直接关闭页面,再次打开登录页面,是否直接登录成功?
13、用例是否考虑没记住用户名的情况下,点击退出,再次打开登录页面,是否直接登录成功?
14、用例是否考虑,多个用户在一个地点登录的场景?


注册:

考虑的常见场景:

1、用例是否考虑用户名输入格式(特殊字符,中英文字符,字符长度,为空)?
2、用例是否考虑密码文本框格式(特殊字符,中英文字符,字符长度,为空)?
3、用例是否考虑手机文本框格式(特殊字符,中英文字符,字符长度,为空)?
4、用例是否考虑验证码文本框格式(特殊字符,中英文字符,字符长度,为空)?
5、用例是否考虑密码可否明文显示?
6、用例是否考虑极验弹出的情况和频率?
7、用例是否验证手机号码唯一性?
8、用例是否考虑每天发送短信的次数?
9、用例是否考虑注册按钮只能在用户名或者密码文本或者验证码都符合格式下才能点击注册请求?

2010-10-19 15:52:00 ccyyss 阅读数 5001
  • 软件测试2小时入门

    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型; 2.常用的黑盒测试用例设计方法及示例演示; 3 常用白盒测试用例设计方法及示例演示; 4.自动化测试优缺点、使用范围及示例‘; 5.测试经验谈。

    2077 人正在学习 去看看 曹红杏

摘自《软件测试新手学习宝典》

软件测试用例的基本要素包括测试用例编号、测试标题、重要级别,测试输入、操作步骤、预期结果

 

用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号是这样定义规则:   PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号,定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。

测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。

重要级别:定义测试用例的优先级别,可以笼统地分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”,反之亦然。

测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。

预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过,反之则测试通过。

软件测试用例的设计主要从上述6个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例参考相关测试书籍。

2015-07-23 16:25:08 qq_27062299 阅读数 10595
  • 软件测试2小时入门

    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型; 2.常用的黑盒测试用例设计方法及示例演示; 3 常用白盒测试用例设计方法及示例演示; 4.自动化测试优缺点、使用范围及示例‘; 5.测试经验谈。

    2077 人正在学习 去看看 曹红杏


包括以下5个方面:


1. 界面测试

2. 功能测试(包括通过性测试和失败性测试):

  (1)用户名,密码,验证码的错误输入包括特殊字符字符串长度SQL测试三个方面;

  (2)考虑公共用例:取消检测项

3. 性能测试:

4. 安全测试:

5. 易用性测试:

 

注意点

 

1)是否对密码和用户名的大小写做了处理;

2)密码是否可以拷贝和粘贴;

3)密码是否为掩码;

4)是否可以使用键盘的快捷键EnterTab,上下左右键;

5)输入错误密码超过次数后是否会被锁定;被锁定的用户是否还能登陆;

6)验证码输入错误的时候,系统是否会自动更换验证码;

7)用户名或密码前或者中间有空格;密码或用户名后有空格;

 

B/S注意点

1)同一个用户是否允许在多个ip地址登陆;

2)等二次登陆,如果cookie没有清除,用户名是否已经显示;如果已经清除,用户名是否还会显示;

 

 

用户名

密码

验证码

登陆

提示信息

提示信息内容

1

/

/

2

0

0

0

×

请您输入用户名再登陆

3

0

×

请您输入用户名再登陆

4

0

×

请您输入密码再登陆

5

0

×

请您输入验证码再登陆

6

×

×

用户名或密码错误

7

×

×

密码错误

8

×

×

验证码错误

登录页面测试用例

阅读数 2944

没有更多推荐了,返回首页