使用用例场景,设计测试用例。


使用用例场景,设计测试用例

作者:周毅

概念和定义

不完全、不彻底是软件测试的致命缺陷,任何程序只能进行少量而有限的测试。测试用例在此情况下产生,同时它也是软件测试系统化、工程化的产物。而测试用例的设计一直是软件测试工作的重点和难点.

 

什么是测试用例?

为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用例。我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。

 

怎样的用例算是好用例?

一个好的测试用例是在于它能发现至今未发现的错误。

 

使用测试用例的好处

在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。

在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。

功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。

 

设计测试用例的方法

u     黑盒测试:

等价类划分法

边界值分析法

错误推测法

因果图法

u     白盒测试:

逻辑覆盖法

基本路径测试法

 

测试用例的设计过程

测试设计员(分析设计员)依据不同阶段的测试计划、设计模型和实施模型来设计该阶段测试用例。

测试设计员是具有丰富测试经验或具有软件分析设计能力的高级测试工程师。如果没有测试设计员,则可用分析设计员代替。

针对白盒,还应有驱动程序和桩模块。

 

测试点的确定

u     ISO 质量体系:

在概要设计或详细设计中应明确指出每个单元模块的测试要点、指标和方法。

u     CMM 质量体系:

在系统的用例模型描述中应明确指出每个用例模型的优先级及用例工作流程,每一个用例模型为一个测试点,用例模型中每一个测试需求至少应有两个测试用例。

 

理解上的误区

测试用例应由测试设计员或分析设计员来制定,而不是普通的测试员。

测试点应由分析设计员确立,与测试人员无关。

测试工作展开于项目立项后,而不是代码开发完成之后。

测试对象不仅仅是源代码,还包括需求分析、需求规格说明书、概要设计、概要设计说明书、详细设计、详细设计说明书、使用手册等各阶段的文档。

 

用例场景的定义

用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。

 

为什么引入用例场景

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

提出这种测试思想的是Rational 公司,在RUP2000 中文版当中有其详尽的解释和应用,用例场景贯穿其中。

 

用例场景例子

下图中经过用例的每条不同路径都反映了基本流和备选流,都用箭头来表示。基本流用直黑线来表示,是经过用例的最简单的路径。每个备选流自基本流开始,之后,备选流会在某个特定条件下执行。备选流可能会重新加入基本流中(备选流 1 和 3),还可能起源于另一个备选流(备选流 2),或者终止用例而不再重新加入某个流(备选流 2 和 4)

 

 


图1-1 测试用例流

遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:

场景 1        基本流

场景 2        基本流        备选流 1

场景 3        基本流        备选流 1      备选流 2

场景 4        基本流        备选流 3

场景 5        基本流        备选流 3      备选流 1

场景 6        基本流        备选流 3      备选流 1      备选流 2

场景 7        基本流        备选流 4

场景 8        基本流        备选流 3      备选流 4

注:为方便起见,场景 5、6 和 8 只描述了备选流 3 指示的循环执行一次的情况。

 

生成每个场景的测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。

测试用例例子

假定上图描述的用例对备选流 3 规定如下:

“如果在上述步骤 2‘输入提款金额’中输入的美元量超出当前帐户余额,则出现此事件流。系统将显示一则警告消息,之后重新加入基本流,再次执行上述步骤 2‘输入提款金额’,此时银行客户可以输入新的提款金额。”

据此,可以开始确定需要用来执行备选流 3 的测试用例:

 

表1-1 备选流 3 的测试用例

测试用例ID

场景

条件

预期结果

TC x

场景4

步骤2 - 提款金额> 帐户余额

在步骤2 处重新加入基本流

TC y

场景4

步骤2 - 提款金额< 帐户余额

不执行备选流3,执行基本流

TC z

场景4

步骤2 - 提款金额= 帐户余额

不执行备选流3,执行基本流

 

 

 

 

 

 

 

 


注:由于没有提供其他信息,以上显示的测试用例都非常简单。测试用例很少如此简单。

下面是一个由用例生成测试用例的更符合实际情况的示例。

 




图1-2 用例实例

一台 ATM 机器的主角和用例。

 

下表包含了上图中提款用例的基本流和某些备用流:

 

 

 

 

 

 

 

表1-2 提款测试用例

基本流

本用例的开端是ATM 处于准备就绪状态。

 

准备提款-客户将银行卡插入ATM 机的读卡机。

 

验证银行卡-ATM 机从银行卡的磁条中读取帐户代码,并检查它是否属于可以接收的银行卡。

 

输入PIN - ATM 要求客户输入PIN 码(4 位) 验证帐户代码和PIN - 验证帐户代码和PIN 以确定该帐户是否有效

以及所输入的PIN 对该帐户来说是否正确。对于此事件流,帐户是有效的而且PIN 对此帐户来说正确无误。

 

ATM 选项-ATM 显示在本机上可用的各种选项。在此事件流中,银行客户通常选择“提款”。

 

输入金额-要从ATM 中提取的金额。对于此事件流,客户需选择预设的金额(10 美元、20 美元、50 美元或100 美元)。授权-ATM 通过将卡ID、PIN 、金额以及帐户信息作为一笔交易发送给银行系统来启动验证过程。对于此事件流,银行系统处于联机状态,而且对授权请求给予答复,批准完成提款过程,并且据此更新帐户余额。

 

出钞-提供现金。

 

返回银行卡-银行卡被返还。

 

收据-打印收据并提供给客户。ATM 还相应地更新内部记录。

 

用例结束时ATM 又回到准备就绪状态。

 

备选流1 - 银行卡无效

在基本流步骤2 中-验证银行卡,如果卡是无效的,则卡被退回, 同时会通知相关消息。

 

备选流2 - ATM 内没有现金

在基本流步骤5 中- ATM 选项,选项将无法使用。如果ATM 内没有现金,则“提款”

 

选流3 - ATM 内现金不足

在基本流步骤6 中-输入金额,如果ATM 机内金额少于请求提取的金额,则将显示一则适当的消息,并且在步骤6 -输入金额处重新加入基本流。

 

选流4 - PIN 有误

在基本流步骤4 中-验证帐户和PIN,客户有三次机会输入PIN 。如果PIN 输入有误,ATM 将显示适当的消息;如果还存在输入机会, 则此事件流在步骤3 - 输入PIN 处重新加入基本流。如果最后一次尝试输入的PIN 码仍然错误,则该卡将被ATM 机保留同时ATM 返回到准备就绪状态,本用例终止。

 

选流5 - 帐户不存在

在基本流步骤4 中-验证帐户和PIN,如果银行系统返回的代码表明找不到该帐户或禁止从该帐户中提款,则ATM 显示适当的消息并且在步骤9 - 返回银行卡处重新加入基本流。

 

选流6 - 帐面金额不足

在基本流步骤7 -授权中,银行系统返回代码表明帐户余额少于在基本流步骤6 - 输入金额内输入的金额,则ATM 显示适当的消息并且在步骤6 - 输入金额处重新加入基本流。

 

选流7 - 达到每日最大的提款金额

在基本流步骤7- 授权中,银行系统返回的代码表明包括本提款请求在内,客户已经或将超过在24 小时内允许提取的最多金额,则ATM 显示适当的消息并在步骤6 - 输入金额上重新加入基本流。

 

选流 x - 记录错误

如果在基本流步骤10 -收据中,记录无法更新,则ATM 进入“安全模式”, 在此模式下所有功能都将暂停使用。同时向银行系统发送一条适当的警报信息表明ATM 已经暂停工作。

 

选流 y - 退出

客户可随时决定终止交易(退出)。交易终止,银行卡随之退出。

 

选流 z - “翘起”

ATM 包含大量的传感器,用以监控各种功能,如电源检测器、不同的门和出入口处的测压器以及动作检测器等。在任一时刻,如果某个传感器被激活,则警报信号将发送给警方而且ATM 进入“安全模式”, 在此模式下所有功能都暂停使用, 直到采取适当的重启/重新初始化的措施。

 

第一次迭代中,根据迭代计划, 我们需要核实提款用例已经正确地实施。此时尚未实施整个用例,只实施了下面的事件流:

基本流-提取预设金额(10 美元、20 美元、50 美元、100 美元)

备选流2 - ATM 内没有现金

备选流3 - ATM 内现金不足

备选流4 - PIN 有误

备选流5 - 帐户不存在/帐户类型有误

备选流6 - 帐面金额不足

 

 

以从这个用例生成下列场景

 

    

场景1 - 成功的提款

基本流

 

场景2 - ATM 内没有现金

基本流

备选流2

场景3 - ATM 内现金不足

基本流

备选流3

场景4 - PIN 有误(还有输入机会)

基本流

备选流4

场景5 - PIN 有误(不再有输入机会)

基本流

备选流4

场景 6 - 帐户不存在/帐户类型有误

基本流

备选流 5

场景 7 - 帐户余额不足

基本流

备选流 6

 

 

表1-3 提款场景

 

 

 

 

 

 

 

 

 




注:为方便起见,备选流 3 和 6(场景 3 和 7)内的循环以及循环组合未纳入上表。

对于这 7 个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例 ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

通过从确定执行用例场景所需的数据元素入手构建矩阵。然后,对于每个场景,至少要确定包含执行场景所需的适当条件的测试用例。例如,在下面的矩阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流。下表中使用的“n/a”(不适用)表明这个条件不适用于测试用例。

 

表1-4 用例矩阵

TC(测试用例)ID 号

场景/条件

PIN

帐号

输入的金额(或选择的金

额)

帐面

金额

ATM 内的金额

预期结果

CW1.

场景1 - 成功的提款

V

V

V

V

V

成功的提款。

CW2.

场景2 - ATM 内没有现金

V

V

V

V

I

提款选项不可用,用例结束

CW3.

场景3 - ATM 内现金不足

V

V

V

V

I

警告消息,返回基本流步骤6 -输入金额

CW4.

场景4 -PIN 有误(还有不止一次输入机会)

I

V

n/a

V

V

警告消息,返回基本流步骤4,输入PIN

CW5.

场景4 -PIN 有误(还有一次输入机会)

I

V

n/a

V

V

警告消息,返回基本流步骤4, 输入PIN

CW6.

场景4 -PIN 有误(不再有输入机会)

I

V

n/a

V

V

警告消息,卡予保留,用例结束

 

在上面的矩阵中,六个测试用例执行了四个场景。对于基本流,上述测试用例 CW1 称为正面测试用例。它一直沿着用例的基本流路径执行,未发生任何偏差。基本流的全面测试必须包括负面测试用例,以确保只有在符合条件的情况下才执行基本流。这些负面测试用例由 CW2 至 6 表示(阴影单元格表明这种条件下需要执行备选流)。虽然 CW2 至 6 对于基本流而言都是负面测试用例,但它们相对于备选流 2 至 4 而言是正面测试用例。而且对于这些备选流中的每一个而言,至少存在一个负面测试用例(CW1 - 基本流)。

每个场景只具有一个正面测试用例和负面测试用例是不充分的,场景 4 正是这样的一个示例。要全面地测试场景 4 - PIN 有误,至少需要三个正面测试用例(以激活场景 4):

输入了错误的 PIN,但仍存在输入机会,此备选流重新加入基本流中的步骤 3 - 输入 PIN。

输入了错误的 PIN,而且不再有输入机会,则此备选流将保留银行卡并终止用例。

最后一次输入时输入了“正确”的 PIN。备选流在步骤 5 - 输入金额处重新加入基本流。

注:在上面的矩阵中,无需为条件(数据)输入任何实际的值。以这种方式创建测试用例矩阵的一个优点在于容易看到测试的是什么条件。由于只需要查看 V 和 I(或此处采用的阴影单元格),这种方式还易于判断是否已经确定了充足的测试用例。从上表中可发现存在几个条件不具备阴影单元格,这表明测试用例还不完全,如场景 6 - 不存在的帐户/帐户类型有误和场景 7 - 帐户余额不足就缺少测试用例。

一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据。

 

表1-5 实际用例

TC ( 测试用例)ID 号

场景/条件

PIN

帐号

输入的金额或

选择的金额

帐面金额

ATM 内的金额

预期结果

CW1.

场景1 - 成功的提款

4987

809 -

498

50.00

500.00

2,000

成功的提款。帐户

余额被更新为450.00

CW2.

场景2 - ATM 内没有现金

4987

809 -

498

100.00

500.00

0.00

提款选项不可用,用例结束

CW3.

场景3 - ATM 内现金不足

4987

809 -

498

100.00

500.00

70.00

警告消息,返回基本流步骤6-输入金额

CW4.

场景4 - PIN 有误(还有不止一次输入机会)

4978

809 -

498

n/a

500.00

2,000

警告消息,返回基本流步骤4,输入PIN

CW5.

场景4 - PIN 有误(还有一次输入机会)

4978

809 -

498

n/a

500.00

2,000

警告消息,返回基本流步骤4,输入PIN

CW6.

场景4 - PIN 有误(不再有输入机会)

4978

809 -

498

n/a

500.00

2,000

警告消息,卡予保留, 用例结束

以上测试用例只是在本次迭代中需要用来验证提款用例的一部分测试用例。需要的其他测试用例包括:

场景 6 - 帐户不存在/帐户类型有误:未找到帐户或帐户不可用

场景 6 - 帐户不存在/帐户类型有误:禁止从该帐户中提款

场景 7 - 帐户余额不足:请求的金额超出帐面金额

在将来的迭代中,当实施其他事件流时,在下列情况下将需要测试用例:

无效卡(所持卡为挂失卡、被盗卡、非承兑银行发卡、磁条损坏等).

无法读卡(读卡机堵塞、脱机或出现故障).

帐户已消户、冻结或由于其他方面原因而无法使用.

ATM 内的现金不足或不能提供所请求的金额(与 CW3 不同,在 CW3 中只是一种币值不足,而不是所有币值都不足).

无法联系银行系统以获得认可.

银行网络离线或交易过程中断电.

更多相关推荐


软件测试基础知识一(前一章)

发布时间:2020-07-31 软件测试
软件测试定义:为了发现错误而执行程序的过程。完整定义:软件测试是发现并指出软件(包含软件经过建模、需求、设计等阶段所产生的大量输出工件及程序代码)中存在缺陷的过程,这个过程指明和标注问题存在的正确位置,详细记录导致问题出现的操作步骤,及时存储当时的错误状态,以上组合在一起便于测试后问题能够准确再现。软件测试过程模型:V模型:是瀑布模型的变种,它反映了测试活动与分析和设计的关系,非常明确的表明了测试...

山东大学软件测试复习提纲

发布时间:2019-05-31 软件测试
各位小伙伴们面对软件测试技术考试是不是很烦躁呢?阅读本篇博客也许不会让你那么烦躁~本文内容主要来自于董老师的提纲。第一章1.1为什么要进行软件测试1、产品质量的保证2、控制成本的关键3、软件可靠性确认4、让企业具备国际竞争的实力1.2什么是软件测试1、BillHetzel博士(正向思维的代表):(1)软件测试就是为程序能够按预期设想那样运行而建立足够的信心。(2)软件测试是一系列活动以评价一个程序...

黑盒测试

发布时间:2021-05-10 软件测试
第二章黑盒测试2.1.1等价类划分有效等价类:有效值的集合,他们是符合程序要求、合理且有意义的输入数据无效等价类:无效值的集合,是不符合程序要求,不合理且无意义的输入数据1、等价类划分原则:(1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为一个有效等价类和两个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。(2)如果程序要求输入的值是一个“必须成立”的...

功能测试笔记-PART5软件测试报告、验收测试

发布时间:2019-05-06 功能测试 软件测试
测试报告内容1、报告信息2、引言3、测试概要4、测试结果与缺陷分析5、测试结论与建议6、测试限制引言1、编写目的具体编写目的,指出预期的读者范围。2、项目背景3、系统简介设计说明书有此部分,照抄注意必要的框图和网络拓扑图4、评测产品对测试对象的描述包括但不限于文件、程序所在的SVN路径,SVN版本号等信息5、测试概要声明、范围、目的等等。包含用例设计方法,简要介绍测试用例的设计方法。测试环境与配置...

工资发放系统测试用例&Excel固定行&测试用例tips#学习报告总结#

发布时间:2015-06-04 测试 学习总结报告
一、工资发放系统的测试用例。详情见点击打开链接。这是我今天写的测试用例,最后无效等价类没写完,但总体设计好了。对初学者来说,学习等价类和判定表这块可以参考。问题分析:为什么0.00、+/-0.01的本月工资不先测?因为这三个数据的特殊性,会屏蔽“普通错误”和“严重错误”的计算结果,致使结果意义不大,所以先不测。也可以解释为,这组数据影响了重要错误的测试,所以优先级较低。二、1.Excel小技巧:固...

软件测试理论基础(一):基本理论

发布时间:2020-02-24 单元测试 软件测试
一、开发测试阶段1.软件开发阶段:(1)需求分析----产生文档----需求规格说明书(2)概要设计----产生文档----概要设计说明书(3)详细设计----产生文档----详细设计说明书(4)编码2.软件测试阶段:(1)单元测试(2)集成测试(3)系统测试(4)验收测试二、软件测试各阶段介绍单元测试(1)依据:详细设计文档(2)以黑盒测试为主,重点核心模块可以进行白盒测试(检查代码)(3)可能...

软件测试 决策表测试

发布时间:2020-04-02 决策表 软件测试
实验二决策表测试1.实验目的掌握决策表测试方法2.实验内容前一日函数PreDate是NextDate的逆函数,即给定一个月份、日期、年,会返回前一天的日期。年的取值在1812年到2017年。日的取值在1日到31日之间。月的取值在1到12月之间3.实验步骤第一步:根据实验内容编写程序。第二步:根据实验内容设计测试用例,要求是用决策表测试生成测试用例。第三步:执行测试用例,并记录测试结果。第四步:编写...

软件测试的基本理论-白盒测试-2

发布时间:2021-06-03 软件测试理论 软件测试
)一.白盒测试方法通常有语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合语句覆盖-设计一套测试让被测对象中所有语句得到测试覆盖判定覆盖-设计一套测试让被测对象中所有判定得到测试覆盖条件覆盖-设计一套测试让被测对象中所有条件得到测试覆盖路径覆盖-设计一套测试让被测对象中所有路径得到测试覆盖1.逻辑覆盖法语句覆盖又称:行覆盖、段覆盖、基本覆盖度量被测代码中每个可执行语句是否被执行到了。这里说的是...

selenium安装问题及解决办法

发布时间:2021-07-10 CHROME PYTHON SELENIUM 软件测试
1.问题:driver安装成功后,新建测试,无法打开Chrome浏览器   解决方法:driver安装成功后,打开过pycharm,要关闭pycharm,重新打开pycharm才能够运行成功。2.问题:安装谷歌浏览器时,版本过低会报错,且同时安装其他版本浏览器会报错   解决方法: 把之前的版本浏览器的执行运行文件卸载干净,不可直接删除,应在控制面板中删除,再安装其他浏览器才不会报错。3.问题:代...

边界值_测试基础

发布时间:2015-10-12 测试 边界值
问题:•持卡人境外消费交易单笔金额满2000元人民币或等值外币,即可享20元人民币或等值外币返现;•境外消费单笔满3000元人民币或等值外币,即可享30元人民币或等值外币返现;•境外消费单笔满5000元人民币或等值外币,即可享50元人民币或等值外币返现;•每张卡片每个自然月最高返现500元人民币或等值外币.每笔消费交易返现一次,并且单笔消费额不包含货币转换费。答案:...

软件测试基础——等价类划分法

发布时间:2019-02-25 软件测试
等价类划分的办法是把程序的输入域划分为若干个部分,然后从每个部分中选取少数代表性的数据当做测试用例,每一类的代表性数据在测试中的作用等价于这一类的其他值。代表性数据有错,则相同类也会有错,代表性数据没错,那么相同类数据也正确。通俗讲,就是划分归纳测试类别。编写测试用例之前,可以先列出一个等价类表,并为每一个等价类编号。在写测试用例时,可以根据不同的等价类写出相应的测试用例条目。比如等价类1:X&g...

软件测试方法-等价类、边界值、因果图

发布时间:2017-05-04 边界值 软件测试
http://blog.sina.com.cn/s/blog_7938ea3701012c76.html等价类划分一、方法简介1.定义       是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。方法是一种重要的、常用的黑盒测试用例设计方法。2.划分等价类       等价类是指某个输入域的子集合。在该子集合中,各个输入数...

如何使用等价类划分法和边界值法

发布时间:2018-10-31 测试 工作总结
我们会发现在测试过程中经常会遇到需要输入数据并且数据要求有分界点的情况,这时就不单单是使用等价类划分法或者边界值法编写测试用例就可以满足测试需求的,而是需要将等价类划分法和边界值法结合起来,才能编写出完整的测试用例。案例:如下图所示的一个两位整数加法器,需求分析中要求:①第一个数和第二个数都是只能输入-99到99之间的整数;②对于输入的小于-99的数据或者大于99的数据,程序应给出明确提示;③对于...

黑盒测试用例设计方法

发布时间:2021-03-10 黑盒测试 软件测试
什么是黑盒测试黑盒测试又称功能测试,是在不了解程序内部结构和内部特性的情况下进行的测试方法,黑盒测试只验证程序是否能按照需求规格说明书的规定正常使用,是否能适当的接收数据并给出适当的输出结果,如错误提示,或正确的界面等。常用黑盒测试方法有等价类划分法、边界值分析法、正交实验法、流程分析法(场景法)、因图法、判定表法、输入域覆盖法、输出域覆盖法、猜错法(异常分析法)。一、等价类划分法1.1简介等价类...

软件测试—兼容性测试

发布时间:2017-10-30 软件测试基础 软件测试
1.基本概念(1)兼容性测试是指检查软件之间是否能够正确地交互和共享信息。兼容性对于软件的意义取决于开发小组用什么来定义,以及软件运行的系统要求的兼容性级别。(2)向后和向前兼容:向后兼容是指可以使用软件的以前版本。向前兼容是指可以使用软件的未来版本。并非所有的软件都要求向前兼容和向后兼容。向前兼容测试不容易——对现在任然看不到的东西进行测试难以实现,解决的方法是完整细致地将测试定义在可以作为标准...

兼容性测试主要测试那些方面

发布时间:2021-07-19 测试 兼容性
兼容性测试主要考虑有:操作系统、浏览器、分辨率和网速方面兼容性测试;web兼容性主要是对浏览器的兼容性测试。浏览器兼容性测试的主要内容:页面的格式、字体、输入框、下拉框、复选框、按钮等的检查;检查页面是否显示正常...

安全软件兼容性测试报告(白皮书)

从技术成因上看,杀毒软件兼容性问题来自于安全软件实时监控、主动防御、虚拟化技术、网络防火墙软件、浏览器防护功能等方面。当多款安全软件装在同一台电脑上,各自把病毒特征库加载到内存中后,电脑一有风吹草动就争相检测,必然导致系统资源占用成倍放大。而且系统活动进程越多,电脑性能损耗就越大。安全软件抢占系统资源还可能导致电脑蓝屏崩溃,甚至用户数据丢失。 报告的全文链接为:http://infosec.sjt...

禅道安装与常见问题!!

发布时间:2019-08-12 禅道篇 禅道安装 软件测试
关于禅道11.6版本的安装以及常见问题!!———《小学弟笔记》什么是禅道·····禅道项目管理软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。·····禅道是一款国产的优秀开源项目管理软件。先进的管理思想,合理的软件架构,简洁实效的操作,优雅的代码实现,灵活的扩展机制,强大而易用的api调用机制,多语言支持,多风...

作为一名测试工程师,你真的知道“微信红包”怎么测试吗?

发布时间:2021-06-01 PYTHON JAVA 软件测试
测试思维测试任何事物的测试思路可以总结如下:第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。...

06正交实验法及场景法

发布时间:2020-03-14 软件测试
06正交实验法及场景法1正交表的由来拉丁方阵(英语:Latinsquare)是一种n*n的方阵,在这种n*n方阵里,恰有n种不同的元素,每一种不同的元素在同一行或同一列里只出现一次n阶拉丁方3阶拉丁方ABC ABCBCA 和CABCAB BCA用数字替代拉丁字母123 123 (1,1)(2,2)(3,3)231 和 312 (2,3)(3,1)(1,2)312 231 (3,2)(1,3...

测试【二】:测试用例的基本要素和好处及测试用例的设计方法:基于需求,等价类,边界值,因果图,正交表,场景设计法,错误猜测法

发布时间:2020-07-19 测试 软件测试
一、测试用例的基本要素有哪些?答:测试环境、操作步骤、测试数据、预期结果等要素。二、测试用例的好处有哪些?答:(1)可以评估需求的覆盖率(2)使得工作可重复,自动化测试的基础(重复使用,做回归测试)(3)积累测试的方法思路以供后续借鉴(4)测试执行者的依据三、测试用例的设计方法1.总体设计方法:基于需求的设计方法基于需求的测试前提:(1)验证需求是否正确完整、无二义性,并且逻辑一致。(2)(2)要...

5.2黑盒测试用例方法

发布时间:2021-11-01 测试用例 软件测试
测试步骤选择因果图法 适合检查程序多种输入条件组合的测试方法(输入条件组合、约束关系(同意条款)、输出条件、输入条件) 原因和结果的关系:  恒等,原因A成立,结果B一定成立  非,原因A出现,结果B一定不成立  或,原因A、B、C三者只要有一个成立,结果D一定成立  与,原因A、B、C都成立,结果D才会出现 因果图中的约束 原因之间的约束  原因成立1,不成立0  互斥、包含、唯一、要求是对原因...

软件测试的基基础知识(12)正交排列法

发布时间:2019-11-21 测试
概述正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。正交表的概念正交表:一种特制的表,一般的正交表记为:Ln(m^k)n时表的行数,也就是需要测试组合的次数k是表的列数,表示控件的个数(因素的个数,或因子个数)m是控制每个控件包含的取值个数(各因素的水平数,即各因素的状态数)正交排列法...

测试用例(正交排列法)

发布时间:2019-05-20 测试 数据结构与算法
一、应用场合  有很多的控件,而且每个控件有多个取值的情况下,要考虑不同控件不同取值的组合  ——如何使用最少、最优化的数据组合达到最大的测试覆盖。二、和因果图法的区别:  因果图:适用于控件组合较少的(20种以下),要比较全面的考虑所有情况(或主要情况)。  正交排列法:适用于控件组合数量庞大,而从代码角度讲有没必要全部测试。正交表一种特制表,一般正交表记为:n:表示的是行数,也就是测试组合的次...

正交排列法

发布时间:2020-03-20 软件测试
正交排列法说明:正交表是数学统计学专业的科研成果,由于该表可以从大量数据中抽取最优最少的数据,能够契合测试思想,而被测试专业借鉴应用。注意:测试人员只需要研究如何挑选合适的正交表,以及如何应用正交表就可以了,不需要研究正交表是怎么填写的,也不需要背正交表。 一、正交排列法应用场合   界面中有多个控件,每个控件有多个取值,不同控件取值之间存在不同的组合,但是组合数量较大,不应测试所有组合,而是使用...

测试用例设计之场景图法

发布时间:2019-05-13 测试
定义现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。  上图中经过用例的每条路径都用基本流和备选流来表示:基本流用黑色表示,是经过用例的最简单的路径。...

游戏服务器框架

发布时间:2015-05-25 JSON C/C++ 数据库
游戏服务器框架——蔡剑彬C++服务器开发工程师(caijianbin668934@163.com)最简单的服务器莫过于在一个while循环里面不停地accept新的sockset,然后做相应的处理。虽然个人是比较推崇简单的事物,毕竟简单才是终极的复杂。但是如果那样做,在实际应用中就难免不适用。所以,在不把服务器变得十分复杂的前提下,一步步地从一个while循环拓展为能够适用于实际情况的服务。首先,...

游戏服务器,登陆认证

   写这些东西,纯属是在学习的时候的一些笔记,或者是自己的认识,或者是在资料上看到的好的论点,发现有的时候如果不把这些东西记下来,后来再忘记掉,真的是很划不来的一件事,本来是打算记在笔记本上,但是最终觉得记在这里会更好,也许对别人会有所帮助.真的是第一次写帖子,大家多包涵~~~这一篇的主题是介绍一个网络游戏的登陆认证过程 1.概述    网络游戏通常都需要进行账号登陆管理,验证账号及密码,进行上...

Verilog HDL建模技巧 :低级建模 仿顺序操作

发布时间:2010-10-22 编程 任务 FLASH 语言 MODULE 工作
第1章“低级建模”的思路首先,我将用一个简单的例子来说明一下,“低级建模”的最基本思路:(一)利用C语言驱动八位发光二极管:  我们以流水灯作为例子,因为它是最经典的实验。假设我要实现流水灯效果,那么我只要建立一个简单的“流水灯函数”函数,“Flashing”。  如果要实现自左向右或者自右向左发光的流水灯,可以使用C语言创建两个简单的函数,“Flashing_To_Right”和“Flashin...

功能测试之边界条件

发布时间:2007-11-05 测试 数据结构 软件测试 TEST
导读:  边界条件是指软件计划的操作界限所在的边缘条件.  如果软件测试问题包含确定的边界,那么数据类型可能是:  数值速度字符地址位置尺寸数量  同时,考虑这些类型的下述特征:  第一个/最后一个最小值/最大值  开始/完成超过/在内  空/满最短/最长  最慢/最快最早/最迟  最大/最小最高/最低  相邻/最远  越界测试  通常是简单加1或者很小的数(对于最大值)和减少1或者很小的数(对于...

03-测试用例设计方法-边界值

发布时间:2021-01-23 黑盒测试 # 测试用例 软件测试
1.定义边界值:选取整好等于、刚刚好大于或刚刚好小于边界值作为测试数据2.上点、离点、内点上点:就是指得边界上得点,开区间的话,上点就是在域外,闭区间得话,上点就是在域内。离点:指得就是离上点最近得点,如果是开区间,那么离点就在域内,如果是闭区间,那么离点就在域外。内点:域内得任意点都是内点。[0,99] : 上点:0,99   离点:-1,100   内点:50(0,99]:上点:0,99   ...

边界值分析法

发布时间:2018-05-22 测试
一、定义    边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。边界值分析法是对等价类划分法做补充的一种黑盒测试设计方法。实践中,由于大量的错误发生在输入、输出值的边界上,所以,对于各种边界值进行测试用例的设计,可以查出更多的错误。边值点的定义:    上点:边界上的点,闭内开外(闭指域的边界是封闭...

黑盒测试的范围内容

发布时间:2018-05-13 测试 黑盒
1)功能错误或遗漏;2)界面错误;3)数据结构或外部数内容据库访问错误;4)性能错误;5)初始化和终止错误。...

软件测试基础——边界值法

发布时间:2019-02-25 软件测试
边界值——等价类附近的值;如果输入条件规定了取值范围,那么应该以该范围的边界内以及刚刚超出范围的边界外的值作为测试用例。...

软件测试用例设计方法-边界值法

本篇文章分享一个最易学,发现bug效率最高的测试用例设计方法——边界值法。定义边界值法:它是对等价类划分法的补充,它不是选择等价类的任意元素,而是选择等价类边界的测试用例基本思路正好等于边界值刚刚大于边界值刚刚小于边界值特殊:0与空、N/A、Null还是之前的例子,这里有两个边界:100999边界值法就是围绕这两个边界,进行用例设计。那么涉及到的边界值:99,100,101,998,999,100...

什么是测试场景标准库?

发布时间:2020-08-26 软件测试 测试总结
测试场景标准库1、一般测试场景2、过滤条件测试场景3、结果表测试场景4、窗口测试场景5、数据库测试场景6、上传功能测试场景7、发送电子邮件测试场景8、excel导出测试场景9、性能测试场景10、安全性测试场景测试场景标准库1.一般测试场景①所有必填字段都应校验并用星号”*”标注②验证错误提示信息应在正确的位置合理显示③所有的错误信息都应用相同的CSS样式显示(如:红色)④一般性的确认信息应该用错误...

软件测试中一定要包括场景测试

发布时间:2020-07-06 软件测试
以下均为自己在手工测试过程中的感悟,不一定成熟,但是非常干货; 场景用例:贴近用户实际操作习惯与流程,当用户真实使用软件时是把软件当成工具来辅助自己完成工作、学习或娱乐等目的,实际上就是在完成场景;另外用户不会像测试人员一样关注具体的功能与规则,功能与规则只是为了更好的支撑用户场景而服务的;之前的中会将用例分为流程用例、关联用例、基础功能用例,无论哪方面,其实都更关注程序而非用户实际的操作过程,这...

软件测试——因果图法

发布时间:2015-12-27 测试
要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。符号测试因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出...

LoadRunner loadrunner 场景设置集合点

本节学习的内容:controller的简介以及原理场景集合点Controller介绍Controller是loadruner的核心组件,承担着多种工作任务。最常见的就是场景的设计,压力机的部署,脚本调度,监控以及数据收集Controller的工作原理通过场景设计来模拟用户的真实操作并调用VuGen中的脚本,再通过设置的压力机产生压力。在场景运行过程中,Controller可以收集虚拟用户执行情况、...

Jmeter(五十)_性能测试模拟真实场景下的用户操作

发布时间:2019-05-27 测试 UI PYTHON
概述我们在做性能测试的时候,不同的视角看到的结果都不一样。例如响应时间用户通过客户端向服务端发出请求的时间为:T1服务端接收到请求,处理该请求的时间为:T2服务端返回数据给客户端时间为:T3客户端接收到响应数据,处理数据呈现给用户时间为:T4从系统视角来看:系统的响应时间Ts=T1+T2+T3。该时间没有包括客户端对数据处理并呈现的时间T4从用户视角来看:用户眼中的的响应时间:Tu=T1+T2+T...

性能测试新手误区(二):为什么我模拟的百万测试数据是无效的

发布时间:2012-03-14 数据库 大数据
  系列原创:性能测试新手误区   测试环境的重要性无需多说,大家都知道测试环境要尽量的模拟生产环境,当然也包括数据。这样测试的结果才会更加准确的反应真实的性能。就连开发过程,都已经开始在大数据量下加压开发了。那么,关于测试数据,你了解多少呢?  通常说的测试数据可以分为两类:  一是为了测试性能而准备的数据,这是用来模拟“压力”的数据。也就是常说的数据量、历史数据等。一般都会根据需求或者经验很容...

很久以前写的一个功能测试用例

发布时间:2017-07-03 测试
你要测试windows附件中的计算器,请列出两个整数相加的测试用例(假设计算器能输入的数据最大长度为8位)。  -整数(双字节[16bit]):  有效等价类:≥-32768(-2[-15]-1)且≤32767(2[15]-1)、  无效等价类:&lt;-32768、&gt;32767  边界值:-32769、-32768、0、32767、32768  错误推测:  -无符号整数(双字节[16bi...

一般常用的测试点总结

发布时间:2020-07-31 软件测试
一般常用的测试点总结1.界面的比例大小、加载出的内容2.页面的按钮展示,以及按钮的功能3.用户注册中的验证码失效的校验4.用户登录过程中的断网行为5.用户登录后的左侧菜单栏,菜单栏的情况,菜单栏的伸缩情况,不同身份展示的菜单栏情况6.列表中【上一页】【下一页】【首页】【末页】按钮的展示,是否正常7.若是有上传的图片,确定图片上传的格式(每一种都要校验 常用JPG、PNG、JPEG、GIF、 )注:...

并发场景设计测试

发布时间:2017-03-30 数据库
Previous最近在看并发编程,但是对于我这么个渣渣来说,显然有点儿困难,于是跟一个老司机请教,(ˇˍˇ)~请他来出一个场景,然后我把我放在这个场景里面进行设计,so,玩一玩。。。场景设计数据库里面导入10w篇文章,然后对文章进行内容分词,采用多线程方式,线程池方式;达到要求:1,性能最大化;2,资源收集批量更新;步骤设计数据抓取使用Python抓取10w的文章,存入mysql;获取关键词集合取...

持续演进的接口自动化测试方案

发布时间:2020-10-14 大数据 软件测试 编程语言 JAVA 分布式
作者:Henry部门:美业测试前言接口自动化测试是个老生常谈的话题,基本上每个测试团队都会涉及,市面上大部分文章会从如何设计框架去讲解。但是这一次我想回归自动化的根本价值,从持续演进的解决方案出发,讲解有赞测试团队的心路历程和对于接口自动化的理解,欢迎交流。一、价值有赞测试团队肩负的一个使命是:打造高效且可靠的产品交付能力。为了完成这个使命,我们会借助各种工具,而接口自动化就是其中的一把利器。如何...

业务测试概念和执行

发布时间:2017-03-10 数据库
业务测试概念和执行一.业务测试概念:       业务测试是测试人员把系统各个模块串接起来运行、模拟真实用户     实际的工作流程,满足用户需求定义的功能来进行测试流程二.测试的时间:       已完成功能测试并保证功能正常使用三.业务流程分2种:       基本数据       业务数据重点:数据业务流程四.业务测试执行1.在执行业务测试之前,清空业务数据,保留基础数据2.按照业务用例执行...

Fiddler抓包实用非常详细,学会不要去做坏事~

为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始。结合抓包工具讲http协议更容易学一些。抓firefox上https请求fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。网页不安全1.用fiddler抓包时候,打开百度网页:http...

MySql INNODB引擎下的索引使用原则或注意事项

发布时间:2020-03-13 索引 数据库 MYSQL SQL JAVA
1、mysql的索引存储类型BTREE、HASHINNODB、MyISAM引擎下,只支持BTREE索引2、索引的分类-基于INNDB引擎1)普通索引,MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。2)唯一索引:索引列中的值必须是唯一的,但是允许为空值,如果是组合索引,则列值的组合必须唯一(普通索引和唯一索引该怎么选择:这两种索引查询性能差别...