设置背景图片
模块透明度调整:
手工基本测试总结
首页 > 软件测试   作者:龙宇  2020年5月28日 14:11 星期四  热度:53°  字号:   评论:0 条
时间:2020-5-28 14:11   热度:53°  评论:0 条 

第一讲     windows 基础

   一、软件(software)
       1、什么是软件?
          计算机=硬件+软件
          软件=程序+文档
      要点:测试对象:是软件,所以文档和程序都是要测试的。
        扩展:
           1、软件开发阶段划分
              (1)需求分析阶段
                由需求分析人员完成
                产出物:《需求规格说明书》

              (2)设计阶段
               由系统架构师/分析师完成
               产出物:《概要设计说明书》
                       《详细设计说明书》

              (3)编码阶段
                由程序员完成
                产出物:程序

           2、常见面试题:
         软件开发阶段中哪个阶段引入的bug(缺陷)最多?哪个最少?
         
          需求分析阶段引入的bug最多(大概占bug总数的55%左右)
          其次是设计阶段(大概占bug总数的25%左右)
          最少的是编码阶段(只占bug总数的15%左右)
          另外:还有5%左右的bug是由兼容性问题或配置原因造成的。
          由此得出结论:
          (1)不能只测程序,文档也是必须要测试的。
          (2)测试应尽早介入,并且贯穿整个开发周期始终。(尽早测试原则、不断测试原则)
         
       注意:测试应尽早介入,早发现,早解决bug,这样解决bug的成本会更低。

    二、软件缺陷的定义
        软件缺陷--defect 、bug
        1、软件缺陷定义(5条定义) --重点
           缺陷定义与顺序无关,满足任何一条都是bug。
           (1)需求要求的功能没有实现。
           (2)实现了需求没有要求的功能。(画蛇添足)
           (3)软件中出现了指明不应出现的错误。
           (4)需求虽未明确指明,但是应该实现的功能没有实现。
                例:法律法规
               说明:需求不是完美的,有可能存在漏洞,测试人员如果发现应该指出,不能应为需求有问题,就导致测试也有问题。
           (5)软件难以理解、不易使用、运行缓慢等,站在用户角度上,一切觉得不好的地方。

            扩展:软件的两个基本要素
                (1)软件的功能要能够实现(基础)
                (2)软件要有强大的异常处理能力。(健壮性)--抗折磨
         
         2、软件缺陷定义2(IEEE) :--理解    
             (1)从软件产品的内部来看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题   (白盒)


(2)从软件产品的外部来看,缺陷是系统所需要实现的某种功能的失效或违背。 (黑盒)


------------------------------------------------day02----------------------------------------------------



一、软件测试(Test)  
               简单来说:就是从现有软件中,尽可能多的查找缺陷的过程。
               
         说明:1、软件不是完美的,所以测试人员的职责不是消灭bug,
而是尽可能多的查找bug,进而保证软件的质量。
               2、强调测试是查找bug的过程,无论是否找到bug,只要完成查找bug的过程,就是测试。

           二、计算机的层次
            1、层次
                计算机硬件 (裸机)
                操作系统
                应用软件
            2、常见的面试题
                Q1:OS的作用?
                  OS:Operating System 操作系统
                  OS作为计算机系统的中间平台,对计算机的硬件部分和软件部分进行统一管理,从而使计算机能够统一协调的工作。
              
                Q2:裸机中有软件吗?
              
               有。 裸机中的软件叫“BIOS”(basic input output system 基础输入输出系统)。
               BIOS程序安装在计算机主板的“CMOS”芯片中。
               BIOS程序在计算机通电后率先获得控制权,对计算机进行“上电自检”。--计算机通电后,先由BIOS程序对计算机硬件设备的连接情况进行检查,如果连接完好,就将控制权转交OS,系统启动;如果硬件设备连接有问题,那么BIOS程序将启动蜂鸣器,发出报警声,并且阻止OS启动。
  Q3:简介常用的OS(5种)
                 (1)windows系统(微软)
                  优势:简单、易用(可视化) ,个人用户占有量大
                  缺点:稳定性、安全性较差,服务器系统领域用户量较少

                (2)Unix系统(贝尔实验室 ,收费)
                     特点:稳定性、安全性较高,支持二次开发 
                    
                (3)Linux系统 (自由软件,免费)
                      类Unix.
                     特点:稳定性强,安全性高,开源,免费,支持二次开发
                 
                总结:unix和linux系统都适合作为服务器端的操作系统,Linux由于开源,免费等优势,在市场上占有率更高。
       例如:bat(百度、阿里、腾讯)等企业服务器都是Linux二次开发后,形成适用于本企业的系统。
                            
                 (4)Mac 系统(苹果公司)
                  特点:对于图形、图像的处理有较大优势。
                  世界上第一款可视化的操作系统(1981年)
                
                 (5)dos (disk OS 磁盘操作系统 --微软公司)
                     特点:单用户、命令式的系统 (不更新)
三、软件的分类
                 1、基本分类
                 (1)系统软件
                     (a)操作系统
                     (b)系统的补丁程序
                     (c)驱动程序
2、按结构分类 
                    
                    (1)单机软件
                    单机软件是不需要网络就可以使用的软件,例如:记事本,单机小游戏,压缩软件
                   
                    (2)分布式软件 
                    需要网络才能使用的软件 ,例如:QQ,滴滴打车,网络游戏等
                     
            (a)C/S结构 (client/server 客户端/服务器)
             特点: 
          c/s结构:需要安装专门的客户端程序,才能享受服务器提供的服务,例如:QQ,滴滴打车等      

            (b)B/S结构(Browser/Server 浏览器/服务器)
           b/s结构:不需要安装专门的客户端程序,只要有公共的浏览器,输入不同的网址,就可以享受不同服务器提供的服务。例如:百度网站,新浪网站等。 
 介绍主流浏览器:
                IE浏览器(微软)
                firefox (火狐ff)浏览器(开源)
                chrome 浏览器(谷歌)
                Safari浏览器(苹果)
                opera浏览器(欧朋)


360浏览器 等


-------------------------------------------------------------------



第二讲   进制和进制转换
      
        一、进制基础 
            
           1、十进制 (案例)
              (1)系数范围:0-9
              (2)进位规则:逢10进1
              (3)权:基数的次幂 
                   基数:几进制基数就是几 例如:十进制的基数就是10
                
                十进制的权:10的次幂
                规律:最右侧1位的权是10的0次幂,每向左移动1位,次幂数+1.
               
               (4)进制的表示
                     方式1:下角标,几进制下角标就写几
                     方式2:后缀,十进制后缀就是字母D 


补充:默认进制就是十进制,没有任何表示的默认就是十进制。


----------------------------------------------day03------------------------------------------------------------



2、二进制(计算机的机器语言 二进制)
            
               说明:由于计算机中的电子元器件都是两种状态,如:电压高、低等,所以二进制恰好契合了计算机的要求,所以二进制成为了计算机的机器语言。
               
              (1)系数范围:0,1
              (2)进位规则:逢2进1

              (3)权 
              二进制的权:2的次幂
              规律:最右侧一位的权是2的0次幂,每向左移动一位,次幂数+1.

               重点:二进制(任意进制) → 十进制
                方法:按权展开求和法
                步骤:用每一位的系数乘以该位的权,乘积相加求和。

              (4)二进制的表示
                    方式1:下角标2
                    方式2:二进制的后缀是:B
   
          3、十六进制
          说明:二进制位数过多,表示起来比较繁琐。为了解决二进制的问题,引入了十六进制,使数据表示的更简洁。

             (1)系数范围:0-9, A=10 ,B=11,C=12,D=13,E=14,F =15(0-9和A-F)
             (2)进位规则:逢16进1
             (3)权:16的次幂
              规律:最右侧一位的权是16的0次幂,每向左移动一位,次幂数+1.

                  补充:十六进制(任意进制)→十进制 
                  方法:按权展开求和法


             (4)十六进制表示
                  方式1:下角标16
                  方式2: 十六进制后缀H
                 补充:八进制 后缀 O
    
        
             二、进制之间的转换     
         
             1、与十进制之间的转换
             
                (1)任意进制→ 十进制
                    方法:按权展开求和法

                (2)十进制→任意进制
                     方法:除基取余逆读法
                    方法说明:
                 步骤1:用十进制数除以基数(想转几进制基数就是几),得到商和余数 (整数)
                 步骤2:继续用商除以基数,得到商和余数,直到商为0时为止。
                 
                 步骤3:最后倒序读取余数作为结果。
                 
              2、二进制与十六进制之间的相互转换
           
                 说明:每4位二进制数可以表示1位十六进制数
                 
                 (1)二进制→ 十六进制
                      方法:4合1 
                     步骤:将二进制数,从后向前每4位分成1组,
                    计算每组对应的十六进制结果,将结果按顺序读出即可。

                  (2)十六进制→二进制
                    方法:1分4
                   


步骤:将每一位十六进制拆分成4位二进制数,最后按顺序读取结果。


-----------------------------------------day04--------------------------------------------------------------



2、进制转换
                 (1)任意进制→十进制
                      方法:按权展开求和法
                 
                 (2)十进制 → 任意进制
                      方法:除基取余逆读法

                (3) 二进制 → 十六进制
                     方法:4合1
                
                 (4)十六进制→二进制


方法:1分4


----------------------------------



第三讲    缺陷报告
         
          一、软件项目的测试流程(重要:必考题)
              要求:必须记住 ,能够结合项目介绍
               
               步骤1:熟悉需求(熟读需求相关文档,进行模块熟悉,业务整理)
               步骤2:制定【测试计划 】
                 说明:通常由测试组长或经理制定
                       测试人员任务是阅读并执行该测试计划
               步骤3:设计测试 (编写【测试用例】)
               步骤4:执行测试,记录测试结果
               
               步骤5:记录缺陷,跟踪和管理缺陷 (【缺陷报告】)
            
               步骤6:测试总结 (【测试总结报告】)
                   对测试数据进行分类、统计、总结 
                   例如:统计缺陷总数,解决bug的比例,不同严重程度bug的占               比等
    
   
       二、缺陷报告
            1、什么是缺陷报告?
               (1)测试人员发现缺陷,将缺陷记录在缺陷报告中。
               (2)测试人员通过缺陷报告将bug告知给开发方。
               (3)通过缺陷报告对bug进行跟踪和管理。
                 总之:缺陷报告是测试人员和开发人员之间重要的沟通方式。



            2、如何编写缺陷报告?
               (1)企业中通常使用缺陷管理工具来对bug实施管理,常用的工具有:禅道(中文、免费)、QC(hp公司,收费,英文)、bugzilla、bugfree、jira(鸡爪)、企业自制的bug管理工具 
                不同公司使用的bug管理工具不同,但是bug管理的核心内容大同小异。

(2)缺陷报告的核心组成(11项)
                 1)缺陷编号 (defect ID)
                   记录发现bug的顺序号
                   工具中编号是自动生成的            
                  提示:在实际测试中,项目组统一管理缺陷,所以缺陷编号记录的是项目测试组所有成员发现的所有bug,不是只记录你自己的发现bug。

                  2)缺陷标题 (summary)
                  简明扼要的将bug概括描述。(自由发挥)
                 
                  3)缺陷的发现者(detected by)
                    测试人员发现bug, 填:测试人员自己的账号 (缺陷管理工具中的账号)
                  
                  4)提交缺陷的日期(detected on date 日期)
                 
                  工具会自动使用系统日期
                 注意:测试人员应及时提交缺陷
                既不要人为延误提交bug,也不要不经审核就立即提交bug,尽量避免提交“假bug”

                  5)指派给谁处理(assigned to)

                 首先:测试方→开发方负责人(开发经理)
                 接下来:开发方负责人→具体的开发人员

                 6)功能模块 (subject)
                    就是在哪个功能模块中发现该bug
                    这样开发方负责人可以通过模块确定具体负责的开发人员。
                 
                 7)发现缺陷的版本(detected in release)
                     
                     版本:对于测试人员来说,版本不仅最后发布的版本,也包含在整个研发过程中,出现过的很多临时版本。

             8)缺陷的状态(status)
                表明缺陷处于怎样的处理情况。
状态:
               新的--new
               激活的--open
               已解决的--fixed
               已关闭的--closed
               被拒绝的--rejected
               重新激活的--reopen
9、缺陷的严重程度(severity)
                   表明该bug有多糟糕,对程序的破坏有多大。

严重级别
                      1--致命的 -- urgent
                      2--严重的 -- high
                      3--中等的(一般的)--medium     
                      4--建议性的小问题--low
         说明:有个别的缺陷管理工具会在致命和严重级别之间,增加“非常严重”(very high)级别。 例如:qc
                10、缺陷的优先级(priority)
          建议开发方在什么时候或什么版本解决该bug。(经验:通常优先级的最终确定是开发方负责人,测试人员一般是建议,开发方可以修改)
(1) 优先级别:
                 1--立即解决 --urgent
                 2--下一个版本解决--high
                 3--在软件发布之前解决--medium
                 4--尽量在软件发布之前解决--low (有可能有bug是发现但没有解决的)

          说明:有个别的缺陷管理工具会在1级和2级之间,增加“在当前版本中解决”(very high)级别。 例如:qc

          (2)注意:不同企业,不同项目对于优先级的定义说明可能不同,应注意参考。

11、描述(description)
            
                 将发现缺陷的过程(步骤、数据)记录下来,使开发人员能够重现该bug。(能让开发人员看明白)
重点--回归测试(面试题):

                  在当前版本中,将上一个版本测过的所有功能再重新测试一遍,就是回归测试。
                  回归测试的必要性:
                   其一:当前版本中新增加的功能可能会对原有功能造成影响,带来新的问题(bug);
                  其二:程序员修改bug的同时,也有可能带来新的问题(bug)

                  回归测试存在重复测试(用例重复执行),所以在企业实际应用中,如果条件允许,可以采用自动化测试的方式来进行,可以大大提高测试效率。
 补充:面试题
              Q1:影响优先级的因素有哪些?
                 (1)缺陷的严重程度,一般越严重优先级越高。
                (2)开发人员的开发压力,一般开发压力越小,优先级越高。
                (3)解决bug的成本(时间),一般成本越低,优先级越高
                (4)bug影响的范围,影响范围越大,优先级越高。

              Q2:严重程度和优先级是严格的正比关系吗?
                  严重程度和优先级不是严格成正比关系,
             例如:界面的错字,严重程度低,但是优先级高。 (只能说严重程度和优先级通常/一般是正比关系)

              Q3:严重程度和优先级确定后能修改吗?
                  严重程度确定后不修改
                  优先级确定后,开发方可以修改。(开发方经常往后改,延期)
              
              Q4:在发布的软件中,是否会存在发现但没有解决的bug?
           
               (1)在发布的软件产品中,有可能存在发现但是没有解决的bug。
               (2)这类bug需要开“bug讨论会”,分析解决bug的成本,和不解决bug是否会给用户带来严重后果,或引起法律诉讼,权衡利弊后,才能最终确定。
               (3)没有解决的bug 企业会在后期,通过升级版本或打补丁的方式
 Q4:用状态的变化描述bug的跟踪处理过程                 

                        (1)基本过程
                   new→open→fixed→closed
                        (2)带有返测失败的过程(1次)
                   new→open→fixed→reopen→fixed→closed
                        (3)被拒绝的bug的跟踪处理过程
                         
                     如果最终结论是“假bug”:
                     new→rejected→closed
    
                     如果最终结论是“bug”:
                     new→rejected→open→fixed→closed
重点面试题:缺陷报告的跟踪管理过程?(步骤?流程?生命周期?)
            
          步骤1:测试人员提交新的bug给开发方负责人
          步骤2:开发方负责人验证bug,
                情况1: 如果验证结果是bug,开发负责人将缺陷激活,并指派给相应的开发人员。
                情况2:如果验证结果不是bug,开发方负责人将拒绝缺陷。(rejected)

          步骤3:开发人员修改被指派的bug,修改完成,将bug状态设置为“已解决”(fixed)
          
          步骤4:测试人员对“已解决”的bug进行返测  ,
                   情况1:返测通过,测试人员将bug关闭 (closed)
                   情况2:返测未通过,测试人员将bug重新激活(reopen),指派回开发人员继续修改,直到返测通过,缺陷关闭为止。     


       扩展问题:
         Q1:测试人员提交bug如果被拒,该怎么做?(经验)
                 思路:(a)自检自查,确定是否是假bug
                      (b)需要甄别bug,测试、开发、产品等部门进行沟通,探讨确定是否是假bug。(需求理解不同、bug不能重现)
                      (c)如果在与开发人员沟通确定bug过程中遇到问题,可以汇报给测试组长,由组长代表测试组进行沟通处理。
               
           最后结论:沟通确认后如果确实不是bug,测试人员要关闭bug。


如果确定是bug,那么谁拒绝的bug,谁负责将bug激活,重新纳入缺陷处理流程。


---------------------------------------------day05-------------------------------------------------------




二、缺陷报告总结
            1、缺陷报告的用途?
                (1)缺陷报告可以记录缺陷
                (2)通过缺陷报告实现对bug的跟踪管理
                (3)可以通过缺陷报告实现对bug的分类,统计,总结。
                
            2、如何识别bug?
                 (1)参考需求文档--与需求不符就是bug
                 (2)缺陷的定义(5条)--满足任何1条都是bug(总纲)
                 (3)参考测试用例的预期结果--实际结果与预期结果不一致就是bug 
                 (4)与产品经理、开发人员、客户或者测试同事等进行沟通、讨论来确认bug 。 

            3、编写bug报告的注意事项

                  随机bug:也叫不可重现bug,就是按照相同的测试步骤,时有时无的bug。
扩展:
            面试题:测试人员如果发现随机bug,应如何处理?
                   
                 (1)测试人员如果发现随机bug应提交给开发方。并说明该bug为随机bug。        
                (2)随机bug不易重现,所以测试人员应尽可能详细的向开发方描述该bug的一切信息,尽量能够提供证迹(截图或视频--测试人员应养成截取证迹的习惯)
                (3)测试人员应尽量配合开发方对于随机bug的调查,例如:保留发现随机bug的测试环境,提供随机bug的出现频率等
                 


(4)如果需要测试方可以增加白盒测试,从软件内部,对随机bug展开测试调查。


-----------------------------------------day06----------------------------------------------------------


 第四讲       测试用例 


---等价类划分法 和 边界值法



          一、测试用例
              1、什么是测试用例?
                测试用例也叫测试案例(test case /test instance),在测试执行之前,由测试人员编写的,指导测试过程的重要文档。主要组成部分:用例编号(标题),测试目的,测试步骤 (用例描述),预期结果等

                重点提示:测试用例设计编写时没有实际结果,只有当测试用例执行之后,才能记录实际结果。

              2、功能(黑盒)测试的常用测试方法?(7种)
                 (1)等价类划分法
                 (2)边界值法
                 (3)因果图法
                 (4)判定表法
                 (5)正交排列法
                 (6)测试大纲法
                 (7)场景法
 3、编写测试用例可以参考哪些资料?

                   (1)需求文档
                   (2)核心技术文档(有时拿不到,例如:开发和测试不是同家公司,测试方很难拿到核心技术文档)
                   (3)已开发的被测系统
                说明:实际工作中,经常是参考需求和被测系统编写用例,如果只参考需求,大概只能覆盖到25%-40%的测试内容。
                   (4)与开发、产品、用户等沟通,讨论。还有尽可能的利用一切资源,完成测试。(例如:网络资料、书籍、参考其他同类成功产品等)

           注意:设计测试时(编写用例),资料很可能并不齐全,要利用一切能利用的资源设计测试。尽可能多的发现bug。
           
           二、测试思想
             1、穷举测试:将所有可能的数据都测试一遍
                穷举测试是最全面的测试,但是测试效率极低,耗费大量的时间,所以在实际应用中难以采用。
             
             2、理想测试:用最少的测试数据,达到最好的测试效果(质量)。
                理想测试思想测试效率高,但是毕竟没有进行“穷举测试”,所以有遗漏bug的风险, 测试人员应在时间允许的前提下,进行补充测试,以降低遗漏bug的风险。


          三、等价类划分法
             1、应用场合(适合测什么)
                  
             等价类划分法适合测试软件中需要输入数据的地方。可以测试输入正确的数据,错误的数据,等价类划分法不去测试所有的数据(不穷举),而是挑选少量的代表数据进行测试(抽样)。 --高效的测试方法
            
             2、等价类划分法的思想(范围)
                 
                将大量数据划分成若干的范围(等价类),然后再从每个范围中挑选少量的代表数据进行测试。(划分范围,抽样测试)
3、有效等价类和无效等价类
                有效等价类:对程序来说,正确的、合理的输入数据集合--验证功能是否正确实现--正向测试


无效等价类:对程序来说,错误的、不合理的输入数据集合--验证软件的异常处理能力 --反向测试


---------------------------------------------day07-------------------------------------------------------



等价类划分法的测试流程

 步骤1:分析需求,初步划分等价类(下一步细化等价类)
有效等价类(对)和无效等价类(错)
 步骤2:细化等价类
               依据:细化等价类一般是依据于数据的存储类型或格式等。
1、细分 --非整数
                    小数、字母、特殊字符、中文字符(记住)
                   2、细分-- -99--99之间的整数
                      结论:有效的整数,如果包含正整数和负整数,要求正、负整数分别测试。
步骤3:将分析的等价类填入《等价类表》
 步骤4:编写测试用例。  


注意: 每个等价类范围要至少挑选1个代表数据进行测试(覆盖所有的测试点)


------------------------------------------------day08------------------------------------------------------



二、边界值法
              1、说明: 在程序开发时,数据的边界是非常容易出错的,所以应该重点检测,因此发明了边界值法,针对边界数据展开测试。
              2、应用场合:
              边界值法可以对程序中有数据输入的地方进行测试,边界值法通常与等价类划分法一起配合使用,边界值负责对输入数据的边界进行重点测试,等价类划分和边界值法一起才能形成较为完善的测试方案。

             提示:边界值法常常与等价类划分法一起使用,但是个别情况也有可能不是,
           例如:性别:有效:男、女  无效: 男、女以外的字符
                 不需要边界值
3、边界值如何划分
             (1)边界值点(min最小值, max最大值)
           有效等价类和无效等价类之间的分界点,就是边界值点。 
             (2)次边界值
              边界值左右两边相邻的点。
                min-(无效最小次边界)
                min+(有效最小次边界)
                
                max-(有效最大次边界)
                max+(无效最大次边界)
            补充:面试题
             Q1:如果测试时间非常紧张,应优先测试哪些边界值相关的点?
                   
               如果测试时间紧张应优先测试边界值点,就是最大值和最小值点 


             Q2:是不是所有的数据边界值,在需求中都是开始就确定好的?
                  不一定,有部分数据的边界值不是开始就确定的,需要进一步明确后才能确定。
  4、重要提醒
                等价类划分法和边界值法是配合使用的,边界值是针对边界数据进行重点检查,等价类是对划分好的范围进行检查,目的不同,各司其职。
单独测试---每个控件的每个无效数据必须要单独测试,这样做是为了避免“屏蔽现象”对于判断测试结果的影响。
补充测试(在测试时间允许的前提下,尽量做些补充测试)
                不放心的(纠结的)、错误推论、程序员容易犯错、随机测试(随意挑选数据测试)
测试用例总结
        1、在编写用例前应明确的内容:
            (1)用例编号的编写格式 
            (2)用例提交的位置(服务器),还有附带的附件的命名和提交的位置
        2、测试用例是需要评审 (用例需要其他人评审)
            3种用例评审的方式:
            互评互审、小组评审会、甲方参与的评审会

        3、测试用例的两个级别
            (1)基本要求 --能编写好1条用例
                就是其他测试人员按照你写的用例能顺利执行出结果。


(2)高级要求--独立分析,设计完善的测试方案


-----------------------------------因果图和判定表------------------------------------------------------------------



一、应用场合
                 
                   界面中有多个控件,不同控件之间存在组合或限制关系,
              不同控件输入条件组合对应不同的输出结果,为了理清控件组合与              对应的输出结果,可以使用因果图或判定表法。
                 提示:因果图或判定表法要理清所有输入条件以及对应的输出结果,所以不适合测试组合数量较大的情况,一般测试组合数量较大的情况会建议选择正交排列法。
           
            二、因果图基础
              
               1、什么是因果图
                   因-- 输入条件   果--输出结果
           因果图就是用画图的方式把输入条件和输出结果之间的关系表示出来。

               2、因果图中图形符号
                  (1)基础图形符号
                  说明:表示因--果之间的关系(双方)
                      
                       1)恒等(相等)
                      含义:如果a=1,那么b=1
                            如果a=0,那么b=0
 2) 与 (多个输入条件-至少2个)
                  含义:全1为1,有0为0 (记住)
                  
                  3) 或 (多个输入条件-至少2个)
                  含义:全0为0,有1为1


                  4) 非(单个输入条件)
                    含义:取反 
                       如果a=1(真),那么b=0 (假)
                       如果a=0(假),那么b=1 (真)
                   


               (2)限制/制约图形符号
              说明:要么因之间、要么果之间的限制关系(单方面)

                  1)互斥(E-exclude)
                    含义:可以不选,如果选只能选1个 (单选)
                    控件:单选按钮 (选择/不选择)
                   
                  2)唯一限制(O-only)
                    含义:只能选择1个(不能不选,不能多选,只能选择1个)(单选)
                    问题:唯一和互斥限制的区别?
                         
                          互斥可以不选,但是唯一必须要选1个。

                  3)包含限制(I-include)
                    含义:至少选择1个(可以多选,但是不能不选)


                  4)要求限制(R-required/request)
                    含义: 如果a=1,要求b必须是1
                           如果a=0, 那么b的值无所谓。


                 
                  5)屏蔽限制(M-masked)

                   含义:如果a=1,那么b必须是0
                         如果a=0,那么b的值可以是1也可以是0.

-----------------------------------------------------------------------------------------------------------------

判定表的缺点--判定表可以简单、清晰的表示输入条件的组合情况,但是却不适合表示输入条件之间的限制(约束-constraint)关系
              解决:可以在判定表添加备注,将输入条件之间的限制关系表示出来

因果图和判定表法的测试步骤:
步骤1:分析需求,找出所有的输入条件
              步骤2:找出输出结果
              步骤3:分析输入条件中有哪些组合或限制关系(组合重点)
              步骤4:确定每个组合对应的输出结果,填判定表或画因果图记录
              步骤5:编写测试用例。
4、判定表法的总结
             (1)因果图或判定表法适合测试控件之间的组合情况,但是比较适应于测试组合数量较少的情况。
              
             (2)判定表的特点
                 1)输入条件的顺序是无关紧要的
                 2)输出结果的顺序是无关紧要的
                 3)先测哪个组合,后测哪个组合也是无关紧要的
                 4)每个组合都是相互独立的,所以先测哪个后测哪个无关紧要

              (3)判定表的组成(了解)
                   条件桩--输入条件
                   动作桩--输出结果
                   条件项--输入条件的各种组合
                   动作项--对应的输出结果


规则--每一种组合情况(1列)称为1个规则


--------------------------------------------------day12-----------------------------------------------------------



第7讲    正交排列法
         一、 正交表简介
         1、 说明:正交排列法是一种利用正交表进行测试的方法。正交表是数学中“统计学”专业的科研成果。对于测试人员来说正交表只是能够帮助测试的“工具”。
                  
         2、 提示:测试人员只需要会挑选合适的正交表,并且能将正交表应用于测试就可以。


         3、解析正交表公式
              L:line  行
              n: 行数 (代表正交表有几行)
              m:每一列的最大数值
              k:列数(代表正交表有几列)
       
       一、应用场合
            
      界面中有多个控件,每个控件有多个取值,不同控件取值之间存在组合关系,但是组合数量较多,不应测试所有组合(穷举),利用正交排列法,可以挑选最优、最少的组合进行测试(抽样)。正交排列法是一种比较优化的测试方法。
        注意:判定表一般建议测试组合数量较少的情况,如果组合数量较多,应使用正交排列法提高测试效率。
        
      二、测试步骤
        步骤1:分析需求,列出参与组合的控件和控件的取值 。(列在excel中)
        
        步骤2:挑选合适的正交表
          方法:就是要确定m值和k值(记住)
              (1) m值:由每个控件的取值个数决定
                         m=3 (每个控件3个取值)
              (2) k值:由参与组合的控件个数决定

                        k=4(4个控件)
             
                    由此可以挑选:3的4次幂的正交表
 控件和正交表之间的映射

                 (1)控件名称----正交表的因子部分(正交表的列标题)

                 (2)控件取值----正交表对应列的状态(每列的数值1,2,3)
正交表测试小结
          1、正交排列法利用正交表测试,挑选最优、最少的组合进行测试,是一种优化的测试方法,但是毕竟没有测试所有组合(没穷举),所以存在遗漏bug的风险,如果时间允许,测试人员应进行补充测试,以降低该风险。(建议加一些组合测)
          2、正交表的局限
            (1)正交表的个数有限(9张表)
                 测试时某些应用无法匹配到正合适的正交表
            (2)正交表要求每个控件取值个数相等,但是在实际应用中,不同控件的取值个数通常不一样。

          3、正交表的特征(了解)--平均(均匀)

             (1)每1列的不同数值出现的次数均等。
             (2)任意两列同一行会形成有序数对,每对有序数对出现的次数均等。

     五、正交排列法的强化测试--找不到合适的正交表怎么解决???

          1、k值不合适
             解决方法:挑选k值最接近的,并且大一点的,用不到的列可以删除
          2、m值--每个控件的取值个数不同,如何解决?
              方法1:最大值法
                 确定m值和k值
               分析:k=4 
                     m=4(最大值,m=4 ,控件的取值个数最大的是4)
                所以要挑选的正交表为:4的4次幂的 ,但是没有,最终挑选4的5                次幂的正交表,将用不到的1列删除即可。


              方法2:少数服从多数
                 确定m值和k值
                 分析:k=4
                       m=3 (少数服从多数,m=3的控件有2个,个数最多)
                 所以,挑选的正交表应为:3的4次幂的
                
             推荐使用最大值方法:
                最大值法相对来说测试质量更好
                最大值法不用更改正交表结构(不用插入行),所以操作更简单

         3、方法总结
            (1)如果挑选的正交表有用不到的列,删除即可。
            (2)映射时,应先替换所有能替换的值。
            (3)如果有多出的"空"(看成是多出的测试机会),应“尽量均匀”的分配给该列的不同取值。
            (4)最后检查是否有完全相同的两行(重复的组合),如果有应作出适当的处理(删或者改)   


(5)注意:选择正交表时,最优先的是选择“正好合适”的正交表,如果没有正合适的正交表,再使用相应的办法,挑选相对合适的正交表进行测试。 



------------------------------------------------day13------------------------------------------------------------

  第8讲    测试大纲(提纲)法
        
         一、应用场合:
          程序中有多个窗口,每个窗口有多个功能点,不同窗口功能之间存在关系,为了理清窗口之间的关系,使用测试大纲法。该方法常用于测试窗口之间的跳转关系;软件的安装、删除(卸载)程序;理清需求中的层级关系。
        
         二、测试步骤
            步骤1:分析需求,列大纲--按照出现顺序,将每个窗口和窗口中的操作(例如:上一页,主菜单等)列举出来(按照层级关系)
             注意:列大纲可以有很多不同的形式,画图,文字等都可以

                  例:  主窗口:
                          选择专卖店
                              
                          地图
                          帮助:
                            上一页
                            主菜单


            
            步骤2:根据大纲理清窗口之间的关系,编写测试用例。
            
                 1、每条用例(每个跳转路线)要测到叶子节点(最后1级节点)。
                 2、如果测试用所测的路线中所有的测试点都已经覆盖(就是没有未测功能点),那么该路线的测试用例可以省略,但是如果测试时间充分,不放心想要测,也可以测。
                 
                 3、测试列表控件时(list),例如:下拉列表控件和列表框控件,如果列表内容较多,应该至少测试3项,分别是第一项(最小值),中间某项(等价类划分--有效等价类),最后一项(最大值)。
           提示:1)应用等价类划分和边界值法分析出来。
                 2)下拉列表中的选项不一定就是测3项,也有可能会测多于3项。
             例如:测月份
                 提取测试点:最大值--1月 、最小值--12月、闰月--2月、小月--30天的月(4月或6月或9月)、大月--31天的月(1月或12月即可),如果有为空的可选情况应单独测试。
提示:编写用例时,如果测试过程一致,可以考虑重用(也叫复用,就是重复使用的意思)用例。这样可以节省编写用例的时间,提高测试效率。但是测试执行不能“偷懒”,必须要按照要求100%覆盖用例。


-----------------------------------------------------day14-----------------------------------------------------



第9讲    场景法
         
      一、应用场合
           1、场景法最常用的测试方法,适合测试软件的业务流程和业务逻辑
           2、场景法是基于软件业务的测试方法(对测试人员对所测软件的业务熟悉度要求高)
           3、场景法是要求测试人员将自己想象成最终用户,模拟用户使用软件的各种情景,主要包括以下两类情景:
             (1)模拟正确的业务操作情景--验证功能正确实现--正向测试
             (2)模拟错误的业务实现情景--验证软件的异常处理能力 --反向测试(错误推论)
      
     二、场景法的使用思路(先整体后细节)
         场景法通常用来测试软件的业务过程,所以当拿到一个测试任务时,首先要使用场景法对于整体的业务流程、核心业务进行测试,如果整体业务没有问题,再使用等价类、边界值、判定表等方法对细节展开测试。
         提示:场景法通常会作为核心测试方法,配合以其他的测试方法,完成测试任务。
   
     三、场景法中的概念
         1、基本流:也叫正确流或有效流,模拟正确的业务实现流程--正向测试


         2、备选流:也叫错误流或无效流,模拟错误的业务实现流程--反向测试
         2、场景法的使用思路
             先整体 (场景法),再细节(等价类、边界值、判定表等)


         3、两个概念:基本流 ,备选流 
场景法的测试步骤:
 步骤1:分析需求,整理业务(流程、逻辑),列出基本流和备选流。
             
                1、基本流 :(正确操作的过程)
 2、备选流 :(操作失败的各种情景)
 步骤2:根据基本流,备选流生成场景,填写《场景表》

           步骤3:根据场景(测试点),设计、编写测试用例
                  注意:场景和用例之间不一定是1:1的关系--
                  有可能1个场景需要编写多条测试用例
                  也有可能1条用例可以测试多个场景
证迹 (截图或视频)记录的要点:
                   (1)截图时如果有提示框,应该移动它,达到不遮挡有效信息的效果。


(2)截图不要只截取局部,尽量截取完整的界面。


---------------------------------------------------------day15--------------------------------------------------



第十讲   软件测试的基础理论(重点:常考)

      要求:课堂上理解,理解的基础上要记住 
        一、软件开发的阶段划分(复习)
             1、需求分析阶段
              由需求分析人员完成,产出物:《需求规格说明书》
             2、概要设计阶段
             3、详细设计阶段
              由系统架构师(或分析师)完成
              产出物:《概要设计说明书》、《详细设计说明书》

             4、编码阶段
               由开发人员完成
               产出物:程序
             
          常见面试题:哪个阶段引入bug最多?哪个阶段引入的bug最少?

           需求分析阶段引入的bug最多,其次是设计阶段,引入bug最少的是编码阶段。由此得出结论:(1)测试不能只测程序,需求和设计阶段也必须要测,文档也是要测试的。(2)测试应符合“尽早测试原则”和“不断测试原则”。


        二、软件测试的阶段划分

          说明:该阶段划分没有包含需求和设计阶段的测试,没有把文档测试部分包括进去。

            1、单元测试
            (1)单元测试是最小的测试单位,一般就是测试一个功能模块、一个窗口、一个方法(函数),一个类等
            (2)单元测试的主要依据详细设计文档
            (3)单元测试理论上由白盒测试实现。(实际问题:效率低,成本高)
            (4)在企业的实际应用中,单元测试通常是由程序员完成的。但是程序员做单元测试有可能不能保证测试质量,企业的对策:采取交换测试的方式 和 开发人员测1轮(白盒),测试人员测第2轮(黑盒)的方式提高单元测试质量 

             (5)驱动模块和桩模块
             说明:在单元测试阶段要求测试者要能够编写“驱动模块”和“桩模块”。
             驱动模块:模拟被测模块的上一级模块(调用被测模块的)
             桩模块:模拟被测模块的下一级模块(被“被测模块”调用的)
             结论:驱动模块<--被测模块<--桩模块
               
               
            2、集成测试(组装测试)
                (1)集成测试也叫组装测试阶段,通常在单元测试基础上,把软件的各个功能模块逐步合并在一起,进行测试的过程。
                (2)功能模块合并的过程一般不是一蹴而就的,而是逐步组装完成的,会形成很多的临时版本。(逐步组装形成多个版本,进行迭代测试)
                 (3)集成测试阶段主要依据概要设计文档
                (4)集成测试阶段是以黑盒测试为主,核心模块,重点、难点模块适当采用白盒测试。
                (5)冒烟测试:也叫“版本验证测试”,在拿到一个新的版本后,一般会先做一个“冒烟测试”--使用较少的人(1-3人,业务熟悉,经验丰富),较少的时间(0.5-2天)对软件的核心功能进行测试,如果核心功能没有问题,就全组投入全面测试,如果核心功能没有实现,版本不稳定,就返回开发组。
                (6)集成测试阶段拿到一个新版本后的工作思路:
                   
                    首先冒烟测试:验证该版本是否被接受(有可能没有)
                    接下来:返测--验证“已解决”的bug是否真被修复了
                            回归测试--验证修改了代码和增加了功能后,原有功能是否还正常。
                    最后:对该版本新增加的功能进行测试(有个别版本只是用来修复以前的bug,没有新功能)
                 提示:以上基本工作思路不一定全部发生,要根据实际情况分析


            3、系统测试
             (1)整个功能全部组装完成后,对集成了硬件、软件的完整系统,进行的模拟真实环境的测试。
             (2)系统测试的重点:1)完整的系统的正确运行。2)完整系统的兼容性
              
             (3)系统测试依据:需求规格说明书
             (4)系统测试阶段全部为黑盒测试
             (5)在系统测试之前,一般会安排“确认测试”,主要确认:
                  1)该系统是否可以进入全面的系统测试阶段。
                  2)确认相关的文档是否齐全(尤其是给用户的文档,和参与认证的文档)
              
          补充:有一种说法(小众)--测试阶段分为:
             单元测试、集成测试、确认测试(插入了一个小的确认测试阶段)、系统测试、验收测试
            
         说明:确认测试阶段通常时间短,参与人员少,所以一般不把其与单元、集成、系统、验收测试所并列。


            4、验收测试(UAT:用户接受度测试)

            UAT:User Acceptance Testing --用户接受度测试
              
           (1)由用户参与的检查过程
           (2)可以分成两个小阶段:
                  1)Alpha测试
                  2)Beta测试






day18  测试基础理论
一、答疑:
驱动模块:模拟被测模块的上一级模块
桩模块:模拟被测模块的下一级模块

二、测试阶段划分

     1、单元测试
     2、集成测试
     3、系统测试
     4、验收测试(UAT-用户接受度测试)
         (1)用户参与的检查过程
         (2)可以分为两个小阶段
              
                 1)alpha测试:在开发的(软件企业指定)环境中(在此环境内,开发方对bug的控制力较强,可以第一时间获取并管理bug),理论上由最终用户对软件进行检查--实际中用户经常无法亲自来参与alpha测试,那么通常软件企业会挑选测试人员代替用户进行测试,或者也有用户自己请第三方测试团队代表用户进行alpha测试。

                 2)beta测试:在用户的实际环境中(开发方对bug的控制力大大减弱,获取bug信息的成本更大,例如时间成本),由最终用户对软件进行检查。
                例:对于公共类(操作系统、网络游戏、输入法等)软件的beta测试,一般企业将软件免费发放给最终用户,通过用户的使用收集问题(bug)。

------------------------------------------------day16--------------------------------------------------------

   三、软件测试模型
             1、软件测试模型表达的是:测试阶段(级别)和开发阶段的对应关系。 例如:v模型,w模型,H模型,X模型等
      
             2、v模型(重点:记住)

               (1)会画
               (2)优、缺点
                  1)优点:
                  (a)开发和测试阶段(级别)划分明确,对应关系明确。
                  (b)   测试阶段(级别)既包含单元测试(专业级、代码级),又包含验收测试(界面级、用户级),包含级别比较全面。
                 
                  2)缺点:
                    (a)v模型没有需求和设计阶段的测试过程,容易造成误解:测试只是开发完成后的收尾工作。
                     (b)v模型没有体现出“尽早测试”和“不断测试”的原则


             3、w模型(了解)    

                (1)w模型可以看成是双v模型,第一个v是完整的开发活动,第二个v是完整的测试活动。
                 (2)w模型的优点:
                      加入了需求和设计阶段的测试内容,更符合尽早测试和不断测试的原则,体现出开发和测试是同步进行的。

          四、软件测试的分类

               1、按测试技术划分:
                  黑盒测试:又称为功能测试,是不考虑程序内部结构特征,只知道输入和输出的情况下进行的功能的测试。
                  白盒测试:又称为结构测试,是考虑程序内部结构,而不考虑程序功能的测试方式。
                  灰盒测试(了解):结合黑盒和白盒测试的要素,对软件进行测试。一般先做黑盒测试,发现bug,再通过白盒测试对bug进行调查(在集成测试中常采用)
                  
               补充:白盒测试
               1白盒测试通常对核心的、风险和难度较大的模块进行补充测试                   2白盒测试的测试质量较高,但是效率较低、成本较高。
               3白盒测试要求测试者有编程能力,也要编写测试用例。
               4白盒测试常用到条件覆盖、循环覆盖等方法。(了解)
        
        2、按是否运行程序划分:
             (1)静态测试:不需要程序运行起来进行的测试。
                    例如:文档测试、界面测试(UI)
                 (静态)代码测试:主要测试代码是否符合相应的标准和规范。



             (2)动态测试:需要使程序运行起来进行的测试。
                  例:功能/黑盒测试是动态测试。
               提示:白盒测试有时候是静态的,也有时候是动态的。

          扩展:白盒测试和代码测试的区别?
                
                  1)白盒测试:主要关注代码的逻辑实现,测试者必须有编程能力,而且白盒测试需要编写测试用例。
                  2)代码测试:关注的是代码的规范性、标准性,测试者不需要懂代码,不用设计用例,只需要参考“代码审查单”检查就可以。

             3、按软件特性分类:
              (1)功能测试
               任何软件都必须先做功能测试,保证其功能的正确性。
               功能测试可以手工功能测试也可以自动化功能测试(依赖于自动化测试工具)

              (2)性能测试
                分布式软件(B/S,C/S结构)需要进行性能测试
                性能测试只能依赖自动化工具实现,常用工具例如:loadRunner、Jmeter等 (性能测试不能手工实现)
                    
           4、其它
             (1)返测:对程序员已解决的bug进行测试,验证该bug是否被修复。
             (2)回归测试(回测):
   在当前版本中,对上一个版本中的所有功能重新测试一遍。验证新版本中,程序原有的功能是否依然正常。
   回归测试中存在大量重复性工作(用例重复执行),所以满足条件时,可以使用自动化方式测试,以提高回归测试效率。

             (3)随机测试(猴子测试--monkey testing)
               在测试用例执行完成后(用例要求100%执行),对软件进行的随意测试的过程。随机测试只是测试时间充足时,正常测试用例之外的补充测试。

             (4)兼容测试:就是指所设计软件与硬件和其他软件之间的兼容性测试。
               兼容测试分为以下3类:
              
               1)硬件兼容
                  与整机兼容
                  与外设兼容

               2)与其他软件兼容
                  与操作系统/平台兼容
                  浏览器兼容(B/S)
                  应用软件之间的兼容
                  数据库的兼容

               3)数据兼容              
                  软件不同版本间的数据兼容


------------------------------------------------------day17------------------------------------------------------



项目管理工具--禅道(zentao)
      一、禅道简介
       1、禅道是一款国产项目管理软件。禅道主要组成:
          组织管理、产品管理、项目管理、测试管理(重点)
          禅道官网:http://www.zentao.net
          同类产品:QC(HP公司,英文,收费),Jira(鸡爪),mantis(螳螂),bugfree,bugzilla (了解)等

       2、禅道是青岛易软天创公司的产品,中/英文版,免费,开源,可以跨平台(操作系统)
       3、禅道是一款B/S结构的软件,需要使用浏览器输入服务器网址访问。
  day 20    禅道3

一、作业答疑
    1、黑盒/功能测试常用的方法有哪些?使用策略如何?
      功能测试常用的方法有: 场景法、等价类划分法、边界值法、因果图、判定表、正交排列法、测试大纲法等
       
          使用策略回答的思路:
   就是将方法的应用场合描述清楚,然后有些方法可以配合使用:等价类+边界值  要强调配合后各司其职测试更完善,判定表,因果图,正交排列法都是测试控件之间组合情况的,要说清楚区别。最后说明测试中通常不是只使用一种方法测试,很多时候是多种测试方法综合运用的。
 1、测试模块的主要组成
            --编写用例 (在禅道中编写、从excel文件导入用例)
            --执行用例 (用例管理、执行任务指派、执行、记录实际结果)
            --提bug
            --bug的跟踪管理


注意:新提交的bug的状态是:激活(禅道中没有“新的”这个状态),bug标题前标识【未确认】,代表开发方还没有确认该bug。



------------------------------------------------day18-------------------------------------------------------------

3、复习:7种测试方法
(1)等价类划分法
?  应用场合:测数据输入情况(有效、无效),将大量数据划分若干范围,从每个范围中挑选代表数据测试。(避免穷举,选择抽样)
? 2个概念:
  有效等价类:对程序来说,正确的、合理的输入数据集合--验证功能的正确--正向测试
  无效等价类:对程序来说,错误的、不合理的输入数据集合--验证软件的异常处理能力(健壮性)--反向测试
?测试步骤
   步骤1:分析需求,划分等价类(初步、细化)
   步骤2:将分析结果填入表格(等价类表)----测试点
   步骤3:从每个等价类中挑选至少一个代表数据进行测试。
(2)边界值法
?    应用场合:边界值法适合测试输入数据,但是边界值重点关注的是容易出错的数据边界。边界值法与等价类划分法经常配合使用,从而形成一套完善的测试方案。
?边界值的划分
   边界值点:有效等价类和无效等价类之间的分界点。(最大值、最小值)
   次边界值点:边界值点相邻两边的点。
   注意:小数类型要注意精确度对于次边界值的影响。
   min-、min+
   max-,max+
问题:边界值的优先级要高于次边界值
?等价类+边界值测试思路
   首先:测试有效数据
   思路:有效数据尽量能组合测试
   接下来:测试无效数据
   思路:无效数据要单独测试 (为了避免屏蔽现象对于测试结果的判断带来影响)
   最后:如果测试时间允许,要进行适当的补充测试。
(3)因果图或判定表法
?     应用场合
界面中多个控件之间存在组合或限制关系,可以使用因果图或判定表法理清输入条件组合对应的输出结果情况。
? 因果图理论基础
1)因果图
   因:输入条件(条件)
   果:输出结果 (动作)
2)图形符号
   因-果 :恒等、与、或、非
   要么因之间,要么果之间的限制关系(约束)
     互斥、唯一、包含、要求、屏蔽
? 测试步骤:
步骤1:分析需求,找出输入条件(因)
步骤2:找出输出结果(果)
步骤3:分析输入条件中有哪些组合和限制关系。
步骤4:确定每个输入条件组合对应的输出结果,填判定表或因果图记录。
步骤5:编写测试用例测试每个组合情况
(4)正交排列法
?   应用场合:如果界面中多个控件之间存在组合关系,但是组合数量较大,此时不应测试所有组合,应使用正交排列法,挑选最优、最少的组合进行测试。
正交排列法测试效率更高,常用来测试属性设置、兼容性等情况。(适合测试组合数量大的)
而判定表法测试更为全面,但是效率较低,所以更适合测试组合数量较少的情况
     
?   理论基础:
    
  L:Line 行
  n:行数 
  m:每列的最大数值
  k:列数
        


?   测试步骤:
步骤1:分析需求,列出参与组合的控件和每个控件的取值 
步骤2:挑选合适的正交表
 怎么挑?
 确定m值和k值
 m值: 由每个控件的取值个数决定 
  如果每个控件的取值个数不同? 最大值法 (建议)、少数服从多数
  k值:由参与组合的控件个数决定
  k值不合适如何解决?
 挑选最接近的并且大一点的k值,用不到的列可以删除。
步骤3:应用正交表(映射)
 控件--正交表因子(列标题)
 控件取值--正交表对应列的状态(例:1,2,3)
注意:如果替换完成,仍然有空,应尽量均匀的将多出的测试机会分配给该列的取值
步骤4:编写测试用例
  每一行作为一种组合情况测试
问题:正交表的特征?
 每列的取值是均匀的
 任意两列的有序数对是均匀的
(5)测试大纲(提纲)法
?  应用场合:程序中有多个界面,不同界面之间存在关系,为了理清窗口之间的关系可以使用测试大纲法。
测试大纲法常用来测试:窗口之间的跳转关系、软件的安装、删除(卸载)程序、理清需求(功能点)之间的层级关系
?测试步骤
     步骤1:分析需求,列大纲
  --按照层级关系将窗口以及窗口中的操作一一列出
     步骤2:分析大纲,整理窗口之间的关系,编写测试用例
 练习:软件的安装程序
(6)场景法(应用最为广泛)
?    应用场合
     场景法常用来测试软件的业务流程、业务逻辑。
     场景法是基于软件业务的测试方法。
     场景法要求测试人员将自己当成最终用户,模拟用户使用该软件的各种情景(沉浸式)。
?  两个概念:
     基本流:也叫有效流或正确流,就是模拟正确的业务过程。--正向测试
     备选流:也叫无效流或错误流,就是模拟错误的业务情况。--反向测试
?测试步骤
步骤1:熟悉、分析需求,整理业务,列出基本流、备选流。(测试点)
步骤2:生成场景,填写场景表
步骤3:根据场景,设计用例
  场景与用例之间不一定是1:1的关系--
  有可能1个场景对应多条用例
  有可能1条用例可以测试多个场景。

热门推荐

二维码加载中...
版权声明:若无特殊注明,本文皆为《 龙宇 》原创,转载请保留文章出处。
本文链接:手工基本测试总结 http://xiaoyuyl.8qq5.com/?post=47

既然没有吐槽,那就赶紧抢沙发吧!

本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除  

Copyright © 2013-2018  龙宇个人博客   站长: 龙宇  主题售乐网络定制版V2.3