学习软件测试过程中想到的问题共21页文档Word格式.docx

上传人:b****3 文档编号:6377172 上传时间:2023-05-06 格式:DOCX 页数:28 大小:30.44KB
下载 相关 举报
学习软件测试过程中想到的问题共21页文档Word格式.docx_第1页
第1页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第2页
第2页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第3页
第3页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第4页
第4页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第5页
第5页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第6页
第6页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第7页
第7页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第8页
第8页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第9页
第9页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第10页
第10页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第11页
第11页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第12页
第12页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第13页
第13页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第14页
第14页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第15页
第15页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第16页
第16页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第17页
第17页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第18页
第18页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第19页
第19页 / 共28页
学习软件测试过程中想到的问题共21页文档Word格式.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学习软件测试过程中想到的问题共21页文档Word格式.docx

《学习软件测试过程中想到的问题共21页文档Word格式.docx》由会员分享,可在线阅读,更多相关《学习软件测试过程中想到的问题共21页文档Word格式.docx(28页珍藏版)》请在冰点文库上搜索。

学习软件测试过程中想到的问题共21页文档Word格式.docx

5.目前我觉得存在问题的测试方法应该是静态黑盒测试和动态白盒测试。

静态黑盒测试一般用于测试产品说明书,动态白盒测试的方法还没有吃透。

6.目前,因为只是一个初学者,所以,学习的方法应该还比较浅显,我想以浅显的为开端,再过渡到第二本《软件测试》进行学习更详细的测试方法和技术。

7.详细计划上我写的是先进行方法和技术的学习,之后再进行实战演练,但是,似乎,在进行实战练习前,对软件测试工具有必要进行一定的了解,所以,我想可能在学习顺序上会有一定的变动,例如,在完成测试文档之前,先进行测试工具的学习。

这个我会随时报告。

8.通过一周来的学习,体会最深的应该是,软件测试绝不是软件测试员一个人闭门研究怎么造测试案例,找出软件的缺陷,它是需要和管理人员以及程序员进行密切沟通的。

9.软件测试也绝不是死规矩的测试,它同样需要灵活地对待,这也将是我学习软件测试的一个有益的挑战。

10.要想成为一个优秀的软件测试人员,不只是要掌握我们通常所谓的黑盒测试技术,白盒测试同样有其不可替代的作用;

那么,好的软件测试员同样也是好的程序员。

时间:

2019-6-4

1.软件测试关键技术的学习是一个过程,应该不可能将所有技术都掌握到位,有选择的进行学习是策略。

运用测试技术阶段:

2019-08-01

在实际进行测试(主要是DAP测试)过程中,认为以下的测试技术可以应用到:

1.代码走查(静态白盒测试

对于有一定编码经验的测试人员来说,代码走查有时是一个比较有效的测试问题的方法,DAP开发中,杨姐审查我写的代码就是一个例子。

2.正确性测试

正确性测试有时也叫功能测试,是测试首先要考虑的方面。

在了解算法逻辑基础上造数据进行测试,所造数据最好包括了所有情况的数据,注意不要一种情况对应一组数据,将所有情况的数据都一同造出后进行测试,这样才可能发现更多的问题。

3.边界条件测试(动态黑盒测试)

无外乎利用边界值进行测试

4.次边界条件测试(动态黑盒测试)

DAP测试:

在选择立案日上考虑次边界条件,如,立案日:

2019-4-1,考虑2019-3-30或2019-4-2等的立案日设置的预测结果差异。

5.空值和无效数据(动态黑盒测试)

通常我们所说的异常数据情况(空值、无效数据等是否做了处理)

6.跟踪测试(动态白盒测试)

在整个软件中跟踪一批数据,并查看中间结果值,这样不仅可以根据观察结果决定更改某些测试案例,还可以查看中间结果值的输入输出是否正确。

7.单元测试(动态白盒测试)

对于上面的各种测试技术的应用,通常会找到大部分的软件缺陷,但是有时,创造性的方法可能会找到隐藏的错误。

1.像笨拙的用户那样做,把自己假想成什么都不懂,跳出你目前所了解的逻辑,站在用户的层面上执行系统,也许你会发现不合理的操作步骤,不恰当的消息输出等等。

2.在以前找到软件缺陷的地方再试试(这点记得晓明之前也提出过)

3.凭借经验、直觉和预感(这是更高的层次了)

设计测试用例阶段:

1.当然,设计测试用例要按照所用的测试技术和方法进行设计,造数据。

2.本次DAP测试,测试发现的问题都得利于所用的测试数据,所以,我最大的感触就是怎么造出能够进行有效测试的测试数据,这点,我目前还没有成熟的想法。

一般而言,对于正确性测试,只要造出几组有代表性的数据即可,然后利用有限的数据进行各种情况(包括空值、零值、无效数据等)的试验;

对于异常测试,一方面,需要造出特殊的数据来试验,通俗一点说就是钻空子,看能否使软件发生异常甚至崩溃,另一方面,需要试验很多组随机数据测试,通过DAP测试的实践,利用大量的实际数据进行测试是非常有效的排除异常情况的方法。

3.对于集成测试和系统测试所用的测试用例的设计思想还需要进一步的学习和在今后的实践中不断地摸索。

测试实施阶段:

1.当你在为寻找逻辑上的不足或异常来进行测试时,这种有目的的测试对于大家来说还都可以接受,但是到了测试的后期,我们基本上确定了算法的逻辑,搞定了所有发现的异常后,可能就认为没有必要再进行测试了,这种想法是错误的,因为所有的软件缺陷一般是不可能都被查出来的,而且我们大多时候还无法在开发期内获得客户数据,这时,就需要有一定的耐性来把软件测试做到最后。

2.测试实施过程中,需要试验大量的数据,重复工作也比较多,此时,考虑利用自动化测试工具是否是更有效而快捷的测试方法,需要进一步学习和试验。

补充:

测试策略回顾阶段:

测试技术策略:

1.在任何情况下都使用边界值分析方法。

2.必要时用等价类划分方法补充一些测试用例。

3.错误推测法:

真正的推测是不可能一开始就推测的,是在对整个系统熟悉的情况下,对各种情况了解的时候做出的假设,觉得某地方可能会出现这样的问题,或者你发现一个问题,在别的模块可能也会有这种情况,还有就是由你发现的问题引申出来的情况的“变种”,因为开发人员解决问题时常不是治本的,所以要把可能的变种列举出来。

基本思想:

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

例如,在介绍单元测试时曾列出许多在模块中常见的错误,这些是单元测试经验的总结。

此外,对于在程序中容易出错的情况,也有一些经验总结出来。

如输入数据为0,或输出数据为0是容易发生错误的情形,因此可选择输入数据为O,或使输出数据为O的例子作为测试用例。

又如,输入表格为空或输入表格只有一行,也是容易发生错误的情况。

可选择表示这种情况的例子作为测试用例。

再如,若两个模块间有共享变量,则要设计测试用例检查当让一个模块去修改这个共享变量的内容后,另一个模块的出错情况等等。

4.对照程序逻辑,检查已经设计出的测试用例的逻辑覆盖程度。

根据覆盖程度可再继续补充测试用例。

5.如果程序的功能说明中含有输入条件的组合情况,开始就利用因果图法进行测试(见附1)。

因果图法测试因果图法测试

6.正交实验法,利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。

往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计(见附2)。

测试方案策略:

1.根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级和测试重点。

2.要认真研究,使用尽可能少的测试用例发现尽可能多的程序错误。

测试计划阶段:

测试结果报告阶段:

1.测试数据备份

我把测试数据的备份放在了这个分类里,是出于结果的呈现也需要提供相应的测试数据这点考虑。

一个是测试数据的备份,这是一定要做的,便于问题再现和回归测试。

我觉得养成一个随时保存测试数据的好习惯是挺必要的,因为有价值的数据我们日后也可能会继续用到。

比如京都酒厂数据,由于其数据的多样性,用这个数据测出了很多问题。

关于测试数据的备份,这里涉及到一个数据库备份和测试数据文档的备份问题。

为什么将这个问题拿出来,因为我比较有感触,就是当时DAP测试时,用了很多个数据库,当时命名也没有考虑太多,胡乱命的名,后来想找之前用过的数据库都找不到了,如果要找的数据还比较难造的话,就更麻烦了。

文档的命名有时也需要花一点心思,数据太多的话,之前利用项目命名远远满足不了多个数据库的备份,此时命名时加上日期通常是我们采取的办法,但是可能同一个日期的数据库又有多个,光加日期还不够用,如此等等。

此时可能你已经备份了很多个数据库文件,如果你想日后再查找相应的数据,也许还是并不太容易。

所以,我想此时,数据库文件和数据文档同时来做数据备份也许会更好。

具体办法如下:

2.Bug管理

这是需要时时更新的文档形式。

清晰记录测试发现问题,方便相关开发人员查看。

至于具体的形式可以灵活表现,最常见的是帐害管理表的管理。

(DAPテスト障害管理表_20191108)

3.结果报告书

测试完成后的成果物,需要表现测试的整个过程。

测试工具使用阶段:

不要盲目追求自动化,根据产品目标按时完成测试任务,保证质量才是关键(测试小组成员,可以一部份做自动化,一部份做手工测试,把自动化测试后期效率与手工测试当时效率结合起来,互补完成任务)。

1)完善手工测试流程(自动化测试与手工测试,思想上是一致的,自动化基本是代替手工,进行操作,手工完善了,自动化只是工具如何使用的问题)

2)完善测试用例(在完善的过程中,你会产生使用自动测试工具的想法,这时去运用最有效;

如测试用例非常齐全,有大量数据输入,你就会想要有什么工具代替我输入就好了;

3)将所有工作中的特定部分作为应用自动化的候选对象(比如软件各组件自动安装过程)

4)从高度冗余的任务或场景开始考虑(比如:

大量的数据输入,验证翻页)

5)将乏味且人工容易出错的工作进行自动化(比如:

结果比较或计算值,核算数据等)

6)首先关注开发成熟、理解透彻的用例或场景(比如:

测试用例足够测试一个功能)

7)优先选择应用中相对稳定的部分,而非易变的部分(比如:

回归测试时,不仅要验证bug,测试新的功能,还要测试已经稳定的功能,这时对这稳定的功能就可以进行一定程度的自动化)

8)想到一个问题是测试数据的备份和维护,这时是否考虑用测试工具更好呢?

附1

因果图法(黑盒测试)

一. 

 

方法简介

1.定义:

是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

2.因果图法产生的背景:

等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。

这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

3.因果图介绍

1) 

4种符号分别表示了规格说明中向4种因果关系。

2) 

因果图中使用了简单的逻辑符号,以直线联接左右结点。

左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

3) 

Ci表示原因,通常置于图的左部;

ei表示结果,通常在图的右部。

Ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

4.因果图概念

关系

①恒等:

若ci是1,则ei也是1;

否则ei为0。

②非:

若ci是1,则ei是0;

否则ei是1。

③或:

若c1或c2或c3是1,则ei是1;

“或”可有任意个输入。

④与:

若c1和c2都是1,则ei为1;

“与”也可有任意个输入。

约束

输入状态相互之间还可能存在某些依赖关系,称为约束。

例如,某些输入条件本身不可能同时出现。

输出状态之间也往往存在约束。

在因果图中,用特定的符号标明这些约束。

A.输入条件的约束有以下4类:

①E约束(异):

a和b中至多有一个可能为1,即a和b不能同时为1。

②I约束(或):

a、b和c中至少有一个必须是1,即a、b和c不能同时为0。

③O约束(唯一);

a和b必须有一个,且仅有1个为1。

④R约束(要求):

a是1时,b必须是1,即不可能a是1时b是0。

B.输出条件约束类型

输出条件的约束只有M约束(强制):

若结果a是1,则结果b强制为0。

5. 

采用因果图法设计测试用例的步骤:

1)分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图。

3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。

4)把因果图转换为判定表。

5)把判定表的每一列拿出来作为依据,设计测试用例。

二. 

实战演习

1. 

某软件规格说明书包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;

如果第二列字符不是数字,则给出信息M。

解答:

根据题意,原因和结果如下:

 

原因:

1——第一列字符是A;

2——第一列字符是B;

3——第二列字符是一数字。

结果:

21——修改文件;

22——给出信息L;

23——给出信息M。

其对应的因果图如下:

11为中间节点;

考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

3)根据因果图建立判定表。

表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。

表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。

2.有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:

若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;

若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

分析这一段说明,列出原因和结果

1.售货机有零钱找

2.投入1元硬币

3.投入5角硬币

4.押下橙汁按钮

5.押下啤酒按钮

结果:

21.售货机〖零钱找完〗灯亮 

22.退还1元硬币

23.退还5角硬币 

24.送出橙汁饮料

25.送出啤酒饮料

2)画出因果图,如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:

11.投入1元硬币且押下饮料按钮

12.押下〖橙汁〗或〖啤酒〗的按钮

13.应当找5角零钱并且售货机有零钱找

14.钱已付清

3)转换成判定表:

4) 

在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。

第16列与第32列因什么动作也没做,也删去。

最后可根据剩下的16列作为确定测试用例的依据。

附2

一、正交表的由来

拉丁方名称的由来

古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。

数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。

什么是n阶拉丁方?

用n个不同的拉丁字母排成一个n阶方阵(n<

26),如果每行的n个字母均不相同,每列的n个字母均不相同,则称这种方阵为n*n拉丁方或n阶拉丁方。

每个字母在任一行、任一列中只出现一次。

什么是正交拉丁方?

设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n2个不同的有序数对,则称为这两个拉丁方为互相正交的拉丁方,简称正交拉丁方。

例如:

3阶拉丁方

用数字替代拉丁字母:

二、正交实验法

正交试验设计(Orthogonalexperimentaldesign)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。

是一种高效率、快速、经济的实验设计方法。

日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。

例如作一个三因素三水平的实验,按全面实验要求,须进行33=27种组合的实验,且尚未考虑每一组合的重复数。

若按L9(33)正交表按排实验,只需作9次,按L18(37)正交表进行18次实验,显然大大减少了工作量。

因而正交实验设计在很多领域的研究中已经得到广泛应用。

利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。

往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。

正交实验设计方法:

依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。

类似的方法有:

聚类分析方法、因子方法方法等。

三、利用正交实验设计测试用例的步骤:

(1)提取功能说明,构造因子--状态表

把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。

利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子;

而把各个因子的取值当作状态。

对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。

这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据。

确定因子与状态是设计测试用例的关键。

因此要求尽可能全面的、正确的确定取值,以确保测试用例的设计作到完整与有效。

(2)加权筛选,生成因素分析表

对因子与状态的选择可按其重要程度分别加权。

可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小。

(3)利用正交表构造测试数据集

利用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:

节省测试工作工时;

可控制生成的测试用例数量;

测试用例具有一定的覆盖率。

在使用正交实验法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获取的因子或因素,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件,即状态或水平值。

四、正交表的构成

行数(Runs):

正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。

因素数(Factors):

正交表中列的个数,即我们要测试的功能点。

水平数(Levels):

任何单个因素能够取得的值的最大个数。

正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”。

即要测试功能点的输入条件。

正交表的形式:

L行数(水平数因素数)

如:

L8(27)

五、正交表的正交性

整齐可比性

在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。

由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。

因而,能最有效地进行比较和作出展望,容易找到好的试验条件。

均衡分散性

在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。

这样就保证了试验条件均衡地分散在因素水平的完全组合之中,,因而具有很强的代表性,容易得到好的试验条件。

用正交实验法设计测试用例

以上介绍了正交实验法的由来。

怎么用正交实验法进行用例的设计呢?

一、用正交表设计测试用例的步骤

(1)有哪些因素(变量)

(2)每个因素有哪几个水平(变量的取值)

(3)选择一个合适的正交表

(4)把变量的值映射到表中

(5)把每一行的各因素水平的组合做为一个测试用例

(6)加上你认为可疑且没有在表中出现的组合

二、如何选择正交表

∙考虑因素(变量)的个数

∙考虑因素水平(变量的取值)的个数

∙考虑正交表的行数

∙取行数最少的一个

三、设计测试用例时的三种情况

(1)因素数(变量)、水平数(变量值)相符

(2)因素数不相同

(3)水平数不相同

四、我们来看看第一种情况:

(1)因素数与水平数刚好符合正交表

我们举个例子:

这是个人信息查询系统中的一个窗口。

我们可以看到要测试的控件有3个:

姓名、身份证号码、手机号码,也就是要考虑的因素有三个;

而每个因素里的状态有两个:

填与不填。

选择正交表时分析一下:

1、表中的因素数>

=3;

2、表中至少有3个因素数的水平数>

=2;

3、行数取最少的一个。

从正交表公式中开始查找,结果为:

L4(23)

变量映射:

测试用例如下:

1:

填写姓名、填写身份证号、填写手机号

2:

填写姓名、不填身份证号、不填手机号

3:

不填姓名、填写身份证号、不填手机号

4:

不填姓名、不填身份证号、填写手机号

增补测试用例

5:

不填姓名、不填身份证号、不填手机号

从测试用例可以看出:

如果按每个因素两个水平数来考虑的话,需要8个测试用例,而通过正交实验法进行的测试用例只有5个,大大减少了测试用例数。

用最小的测试用例集合去获取最大的测试覆盖率。

如果因素数不同的话,可以采用包含的方法,在正交表公式中找到包含该情况的公式,如果有N个符合条件的公式,那么选取行数最少的公式。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2