核心阶段1:软件测试设计(软件测试核心之用例设计)

核心阶段1:软件测试设计(软件测试核心之用例设计),第1张

      测试设计是将概括的测试目标转化为具体的测试条件和测试用例的一系列活动。

①评审测试依据(需求,系统架构、设计和接口说明)。

②评估测试依据和测试对象的可靠性。

③通过对测试项、规格说明、测试对象行为和结构的分析,识别测试条件并确定优先级。

④设计测试用例,并确定优先级

⑤确定测试条件和测试用例所需要的必要的测试数据。

①依据在测试策略或测试计划中确定的测试技术。

②通过对测试依据和测试目标的分析,可以确定需要测试的内容,获得测试条件。

       测试用例是通过使用在测试计划中确定的测试技术,对于已确定的测试条件进行逐步推敲,精炼而设计出来的重点说明如何具体 *** 作产生何种结果的文档。(指引我们测试的文档)

      测试用例应该具有可重复性、可验证性和需求可追踪性。

①前提条件,如项目或局部测试环境的需求,及其交付计划。

②测试步骤。

③测试数据。

④预期结果。

①测试两个参数的值相加后的结果是否正确

②期中:输入的数值在-99到99之间,大于99或小于-99的输入应该被拒绝,并显示错误信息。

根据测试需求,我们开始测试:

①分别给第一个参数和第二个参数输入表中的值,得到的测试加过如表所示:

②如果我们对第一个参数的值分别取从-99到99的199个数,第二个参数的值分别取从-99到99的199个数,我们不可能对两位数相加的所有情况进行穷举测试。

③如果不能进行穷举测试,我们将面临以下的问题:

         在测试了1+1,1+2,1+(-1)和1+(-2)之后,还是否有必要测试1+3,1+4呢?

        如果不对加法计算器程序进行穷举测试,是否放心的认为所有的参数组合都是正确的呢

对于以上两个问题,我们可以采用等价类划分法来进行解决。

①等价类划分的办法就是把程序的输入域划分成若干部分。

②从每个部分中选取少数代表性数据当做测试用例。

③每一类的代表性数据在测试中的作用等价于这一类中的其他值。

④也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。

⑤繁殖,如果某一类中的例子没有发现错误,则这一等价类中的其他例子也不会发现错误。

①如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。

②如果一个输入条件说明了一个“必须成立”的情况,则可划分一个有效等价类和一个无效等价类。

③如果输入条件规定了输入数据的一组可能的值,而且程序使用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类。

④如果我们确定,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类。

⑤在确定了等价类之后,建立等价类表,列出所有划分出的等价类。

①明确测试对象,非测试对象保证正确。

②为每个等价类规定一个唯一的编号。

③设计一个测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖。

④设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有的无效等价类均被覆盖。

例子是前面的加法计算机

①一个有效数据等价类,两个无效数据等价类。

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

无效数据等价类就是:那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。

       在实际工作中,我们通常在确立了等价类以后,把程序中所有的等价类建立等价类表,一遍在编写测试用例的时候有所依据。

①为等价类表中的每一个等价类分配一个唯一的编号。

②设计一个新的测试用例,使他能够尽量覆盖尚未未覆盖的有效等价类。

③重复这一步骤,从而使所有有效等价类均被测试用例所覆盖。

④与上述类似,设计一个新的测试用例,使它只覆盖一个无效等价类。

⑤重复这一步骤,从而使所有无效等价类均被测试用例所覆盖。

①在测试“-99≤数值99”的这个等价类区间的时候,我们会发现如10+40,-20+30和-30+(-30)这类的正数相加,正数负数相加,负数相加也是不同的等价区间。因此我们可以使用更多的等价类划分。

②根据以上等价类划分的加过,得出下表的等价类表:

根据上面划分的4个等价类,我们至少需要有5个测试用例:

①测试相同的内容。

②如果等价类中的一个测试能够获取一个缺陷,那么选择该等价类中的其他测试也能获取该缺陷。

③如果等价类中的一个测试不能获取缺陷,那么选择该等价类中的其他测试也不能获取缺陷。

④如果正确的花粉都能加了,可以大大降低测试用例的数量,测试会准确有效。

⑤如果错误的将两个不同的等价类当作一个等价类,那就会遗漏一种测试情况。

⑥相反的,把同一个等价类看作了两个不同的等价类,那么测试就会是冗余的。

①不但要考虑有效等价类,也要考虑无效等价类。

②仔细划分,审查划分。

③过于粗略可能会漏掉软件缺陷。

⑤组织评审。

①余额宝体现到yhk增加新规则:快速到账(2小时)日限额1W元。

②超过1W元只能选择普通到账。

③按照等价类划分方法设计测试用例。

①设计用例:

②细致分析需求,日限额1W,所以要区分两个场景:

       边界值分析法是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类便捷的测试用例。

       实践证明,在设计测试用例时,对边界附近的处理必给予足够的重视,为检验便捷附近的处理专门设计测试用例,常常去的良好的测试效果。

      边界值分析法不仅重视输入条件边界,而且也从输出域导出测试用例。

        如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例。

eg1:以a和b为边界,测试用例应当包含a和b以及略大于a和略小于b的值。

eg2:根据以上计算器的例子,根据边界值分析的方法来看看如何对边界值进行测试:

        由于允许输入的额数值在-99到99之间,所以我们可以把-99和99看做两个边界值。我们测试的时候可以去临近边界值的数值和边界值本身作为输入:

eg3:余额宝体现到一囊卡增加新规则:快速到账(2小时)日限额1W元:

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

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

       因果图法基于这样的思想:一些程序的功能可以用决策表的形式来表示,并根据输入条件的组合情况规定相应的 *** 作;因此,可以考虑为决策表中的每一列设计一个测试用例,以便测试程序早输入条件的某种组合下的输出是否正确。

      概括的说,因果图方法就是从程序规格说明书的描述中找出因(输入条件)和果(输出结果或程序状态的改变)。将因果图转换为判定表,为决策表中的每一列设计一个测试用例。这种方法考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。

      判定表(Decision Table)是分析和表达多逻辑条件下执行不同 *** 作的工具。是编写程序的辅助工具,可以把复杂的逻辑关系和多种条件组合的情况表达得及具体又明确。

判定表通常由四个部分组成:

①条件桩(Condition  Stub):列出了问题的所有条件,通常认为列出的条件的次序无关紧要。

②动作桩(Action Stub):列出了问题规定可能采取的 *** 作,这些 *** 作的排列顺序没有约束。

③条件项(Confition  Entry):列出针对它左列条件的取值,在所有可能情况下的真假值。

④动作项(Action  Entry ):列出在条件项的各种取值取值情况下应该采取的动作。

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

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

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

④把因果图转换为判定表。

⑤根据判定表中的每一列设计测试用例。

eg:使用因果图+判定表设计测试用例测试两位数计算器。

①输入1:                                                                ②输入2:

条件1:0≤X≤99                                                      条件1:0≤X≤99    

条件2:-99≤X<0                                                    条件2:-99≤X<0

条件3:X<-99                                                        条件3:X<-99

条件4:X>99                                                         条件4:X>99

输出:

正确计算

错误提示

输入1:

     1、2、3、4互斥

输入2:

    1、2、3、4互斥

输出:

输出结果正确和错误互斥

得到的测试用例:

       正交实验设计法(Orthogonal experimental design),是从大量的试验点中挑选出适量的、有代表性的点,应用依据伽罗卡瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。

1、提取功能说明,构造因子—状态表

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

       计算个因子和状态的权值,删去一部分权值较小,即重要性比较小的因子或状态,使最后生成的测试用例集缩减到允许的范围。

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

  ① 如果每个因子的状态树是不统一的,几乎不可能出现均匀的情况,必须首先用逻辑命令来组织个因子的状态,作出布尔图。

②根据布尔图得到相应结束的正交表。

③依照因果图上根节点到叶子节点的顺序逐步替换正交表上的中间节点,得到最终的正交表。

4、利用正交表每行数据构造测试用例

正交表:

正交表的表示形式:Ln(t^c)其中:L为正交表的代号,n为行数(试验行数),t为水平数,c为列数(因素数)。

eg:L4(2^3),它表示需做四次实验,最多可观察3个因素,每个因素均为2水平:

1:正确

2:错误

eg:一个正交表中也可以割裂的水平数不相等,我们称它为混合型正交表,如L8(2^4 4^1):

根据正交表的数据结构可以看出吧,正交表是一个n行c列的表,其中第j行由数码1,2,tj组成,这些数码均各出现n/t次。

第二列的数码个数为2,t=2,即由1、组成,各数码均出现2次。

1、Technical Support (supportsaacom)

>

PATTAERN主要在数字电路测试时候运用,对应电路的功能测试;

测试程序指的是完整的测试程序,如果是数字类测试,包括dc参数,少量ac参数,功能PATTAERN测试;

如果是模拟类电路,无PATTAERN的概念,主要为参数测试以及功能仿真测试;

一填空

1、 系统测试使用( C )技术, 主要测试被测应用的高级互 *** 作性需求, 而无需考虑被测试应用的内部结构。

A、 单元测试 B、 集成测试 C、 黑盒测试 D、白盒测试

2、单元测试主要的测试技术不包括(B )。

A、 白盒测试 B、 功能测试

C、 静态测试 D、 以上都不是

3、(A )的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

A、 系统测试 B、 集成测试

C、 单元测试 D、 功能测试

4、如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品是( A )。

A、 Alpha版 B、Beta版

C、正版 D、以上都不是

5、自底向上法需要写(A )。

A、 驱动程序 B、 桩程序 C、驱动程序和桩程序 D、 以上都不是

6、测试ATM取款功能,已知取款数只能输入正整数,每次取款数要求是100的倍数且不能大于500,下面哪个是正确的无效等价类(C)

A、(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

B、(500,+∞)

C、(500,+∞)、任意大于0小于500的非100倍数的整数;

D、(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

7、因果图/判定表工程方法在以下那种情况下不适用(C)

A、输入输出明确,或输入输出因果关系明确的情况下

B、被分析的特性或功能点复杂,输入项目很多的情况下

C、系统输入之间相互约束多,需要做大范围的组合测试情况下

D、系统输入之间基本没有相互联系

8、以下说法不正确的是(D)

A、测试原始需要明确了产品将要实现了什么

B、产品测试规格明确了测试设计内容

C、测试用例明确了测试实现内容

D、以上说法均不正确

9、可测试性中,有关系统可观察性的理解,下面说法那个是错误的( B)

A、系统所有的输出结果可观察,错误输出易于识别;

B、系统运行状态和内部处理的过程信息可观察;

C、系统内部变量名及其取值可观察;

D、系统内部重要对象的状态和属性可观察;

E、系统内部重要的 *** 作的处理时间可观察;

F、系统内部重要的资源的占用情况及单个资源的创建、保持、释放过程可观察

10、测试脚本的编写规范强调:(ABCD )

A、可读行 B、可重用性 C、可维护性 D、可移植性

11、当继承某个特性是,通常会从哪些角度对该特性进行测试分析(AC )

A、失效影响度 B、成熟度 C、继承方式 D、用户原始需求

12、从下列关于软件测试的叙述中,选出正确的叙述(CD)

A、用黑盒法测试时,测试用例是根据程序内部逻辑设计的

B、测试的目的是验证该软件已正确的实现了用户的要求

C、发现错误多的程序块,残留在模块中的`错误也多

D、测试设计时,应充分考虑异常的输入情况

13、软件验收测试的合格通过准则是:(ABCD)

A 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B 所有测试项没有残余一级、二级和三级错误。

C 立项审批表、需求分析文档、设计文档和编码实现一致。

D 验收测试工件齐全。

13、软件测试计划评审会需要哪些人员参加(ABCD)

A项目经理

BSQA 负责人

C配置负责人

D测试组

14测试设计员的职责有:(BC )

A制定测试计划

B设计测试用例

C设计测试过程、脚本

D评估测试活动

15软件实施活动的进入准则是:(ABC)

A需求工件已经被基线化

B详细设计工件已经被基线化

C构架工件已经被基线化

D项目阶段成果已经被基线化

二、判断题(正确的√,错误的╳)共10分,每小题1分

1 软件测试的目的是尽可能多的找出软件的缺陷。( Y)

2 负载测试是验证要检验的系统的能力最高能达到什么程度。(N )

3 测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

4 自动化测试能比手工测试发现更多的缺陷(N)

5 错误猜测法基于这样一种假设,以前犯过的错误,以后同样会犯,我犯过的错误别人同样会犯,前人犯过的错误,后人同样会犯(N)

6 软件测试中的二八原则暗示着测试发现的错误中的80%很可能起源于程序模块的20%(Y)

7 某WEB系统设计中,用户点击“退出”按钮从系统中退出,界面回到初始登陆界面。此时不关闭窗口,使用浏览器的回退功能,可以回到之前的用户界面,继续进行用户 *** 作。这种合适的人性化设计,恩那个避免用户误点击退出按钮后重新登录的繁琐 *** 作;这种说法是否正确(N)

8 在确定性能测试指标值时,参考的国际标准、国标、运营商规范中对此要求并不一样,可以视情况选择有利于我们的指标值,但必须要比竞争对手高,这样才有利于市场竞争力(N)

9 测试执行时,应该对每一个测试结果做全面的检查,包括日志,这种说法是否正确( N)

为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据,然后由处理器执行指令。整个过程可以总结为编译、链接、装载、执行。

1、编译

编译过程又可以被分为两个阶段:编译、汇编。

编译是指编译器读取字符流的源程序,对其进行词法与语法的分析,将高级语言指令转换为功能等效的汇编代码。

汇编器是将汇编代码转变成机器可以执行的命令,每一个汇编语句几乎都对应一条机器指令。汇编相对于编译过程比较简单,根据汇编指令和机器指令的对照表一一翻译即可。

2、链接

链接的主要内容是将各个模块之间相互引用的部分处理好,使得各个模块之间能够正确地衔接。链接又分为静态链接和动态链接:

静态链接是指在编译阶段直接把静态库加入到可执行文件中去,这样可执行文件会比较大;

动态链接则是指链接阶段仅仅只加入一些描述信息,而程序执行时再从系统中把相应动态库加载到内存中去。

3、装载

程序在经过链接后,得到了可执行文件,下一步就需要将可执行程序加载到内存中。

由于现代 *** 作系统均采用分页的方式来管理内存,所以 *** 作系统只需要读取可执行文件的文件头,之后建立起可执行文件到虚拟内存的映射关系,而不需要真正的将程序载入内存。

4、运行

加载器将可执行目标文件中的代码和数据从磁盘复制到内存中,然后通过跳转到程序的第一条指令或入口点来运行程序。

在程序的运行过程中,CPU发现有些内存页在物理内存中并不存在并因此触发缺页异常,此时CPU将控制权限转交给 *** 作系统的异常处理函数, *** 作系统负责将此内存页的数据从磁盘上读取到物理内存中。

以上就是关于核心阶段1:软件测试设计(软件测试核心之用例设计)全部的内容,包括:核心阶段1:软件测试设计(软件测试核心之用例设计)、AC测试、国内和全世界分别哪款杀毒软件最好、测试PATTERN和测试程式的区别和联系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9674698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存