测试基础介绍

作者: 测试猴 | 来源:发表于2018-01-02 17:52 被阅读56次

    迅速找出重要程序问题

    1.首先测试经过变更的部分,然后测试没有变化的部分,修改和更改都意味着新的风险

    2.首先测试核心功能,然后测试辅助功能,测试产品所完成的关键和常用功能,测试完成产品基本任务的功能

    3.首先测试能力,然后测试可靠性。先测试每个功能是否完全能用,然后再深入检查任何一个功能在很多不同 条件下表现如何

    4.首先测试常见情况,然后测试少见情况,使用常用的数据和使用场景

    5.首先测试常见威胁,然后测试罕见威胁。用最有可能出现的压力和错误情况进行测试

    测试人员对产品越了解越有可能找出重要问题

    黑盒测试:测试员只知道软件做什么即可,只要进行输入,程序输出即可

    白盒测试:可以看到代码,并通过检查代码来协助测试,进行白盒测试要冒一些风险

                因为要调整测试程序以适应代码操作,所以很容易形成偏见,无法进行客
    
                观测试
    

    静态测试:不运行程序,只是检查和审阅

    动态测试:运行程序,检查各项功能

    静态黑盒测试:测试产品说明书属于静态黑盒测试

    对产品说明书进行高级审查:1.理解产品说明书背后的原因和操作方式,就可以更

                                               好的仔细检查
    
                                             2.设身处地为客户着想:”满足客户要求”是质量的定
    
                                                义.
    
                                              3.研究现有的标准和规范:接口标准
    
                                              4.审查和测试同类软件
    
                         闭着眼睛测试软件
    

    动态黑盒测试:如果没有产品说明书时,使用探索测试

    测试用例设计方法:

    等价划分:分步骤地把过多的测试用例减小到同样有效的小范围的过程,在寻找

                等价区间时,想办法把软件的相似输入,输出,操作分成组,这些组就是等 
    
                价区间
    

    数据测试:对数据进行测试,就是在检查用户输入的信息,返回结果以及中间计算结

               果是否正确
    

    数据的例子:1.在字处理程序中输入的文字

                   2.电子表格中输入数字
    
                   3.图像软件打印的图片
    
                   4.
    

    边界条件:

    总结:边界值和等价划分的一个弱点是未对输入条件的组合进行分析

    因果图分析:因果图有助于用一个系统的方法选择出高效的测试用例集,还有一个

                   好处是可以指出规格说明的不完整性和不明确之处
    

    因果图生成测试用例的过程:1.将规格说明分成可执行的片段

                                             2
    

    错误猜测:

    白盒测试;逻辑覆盖测试

    语句覆盖:通常没有什么用处

    判定覆盖:较强一些的逻辑覆盖准则,该准则要求编写足够的测试用例,使得每一个

               判断都至少有一个为真和为假的输出结果,判定覆盖通常能满足语句覆
    
               盖
    

    至少有三条例外情况:1.程序中不存在判断

                                 2.程序或子程序有多重入口,只有从程序的特定入口进入时
    
                                    某条特定的语句才会被执行
    

    判定覆盖要求每个判断都必须有是或否的结果,每个入口必须被调用一次

    条件覆盖:比判定覆盖更强的准则是条件覆盖,编写足够的测试用例以确保一个判

               断的每个条件的所有可能的结果至少执行一次
    

    判定/条件覆盖:设计充足的测试用例,讲一个判断中的每个条件的所有可能的结果

                        至少执行一次,,将每个判断的所有可能的结果至少执行一次,将每
    
                        个入口点都至少调用一次
    

    优缺点:尽管看上去所有条件的所有结果似乎都执行到了,但由于有些特定的条件

            会屏蔽掉其他的条件
    

    多重条件覆盖:

    根据项目流程阶段划分软件测试

    [图片上传失败...(image-dea6e0-1514886749592)]

                                  v型软件开发流程
    

    单元测试:单元测试是对程序中的单个子流程或具有独立功能的代码段进行测试的过程

    集成测试:集成测试是单元测试的基础上,见通过单元测试模块组装成系统或子系统,再进行测试,重点是检

                查模块之间的接口是否正确
    

    系统测试:系统测试是针对整个产品系统进行的测试,验证系统是否满足了需求规格的定义,以及软件系统的

                 正确性和性能等是否满足其规约所指定的要求
    

    验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买

                 者展示该软件系统满足其用户的需求
    

    白盒测试、黑盒测试、灰盒测试

    白盒测试与黑盒测试,主要是根据在软件测试工作中对软件代码的可见程度进行的划分

    黑盒测试:指的是把被测的软件看做是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件

                 的输入数据和输出结果
    
                 它只检查程序呈现给用户的功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接
    
                 收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要
    
                 针对软件界面和软件功能进行测试
    

    白盒测试:指的的是把盒子打开,去研究里面的源代码和程序执行结果

                 它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规                    定正常进行,检验程序中的每条通路是否能按照预定要求正确工作
    

    灰盒测试:介于黑盒测试与白盒测试之间

                 灰盒测试关注输出对于输入的正确性,同时也关注内部表现,单这种关注不像白盒那样详细、完
    
                 整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但
    
                 内部其实已经错误啦,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需
    
                 要采取这样的一种灰盒测试的方法
    

    功能测试和性能测试:从对软件的不同测试点可以划分为功能测试和性能测试

    功能测试:功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计

                 软件的目的也就是满足客户对其功能的需求。如果偏离这个目的任何测试工作都是没有意义的
    
                 功能测试又可以分:逻辑功能测试,界面功能测试,易用性测试,安装测试,兼容性测试等
    

    性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指

                 标进行测试
    
                 软件的性能包括很多方面,主要有时间性能和空间性能
    

    时间性能:主要是指软件的一个具体响应时间。比如一个登陆所需要的时间,一个交易所需要的时间等。

    空间性能:主要指软件运行时所消耗的系统资源,比如硬件条件,cpu,内存,网络带宽消耗等

    自动化测试

    自动化测试又可分为:功能自动化测试与性能自动化测试

    冒烟测试、回归测试、随机测试

    冒烟测试:是指对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可

                 测性
    

    回归测试:回归测试是指修改了代码后,重新进行测试以确认修改后没有引入新的错误或导致其他代码产生错

                 误
    
                回归测试一般是在进行软件的第二轮测试开始的,验证第一轮中发现的问题是否得到修复。当然,
    
                回归也是一个循环的过程,如果回归的问题不通过,则需要开发人员修改后再次进行回归,直至
    
                通过为止。
    

    随机测试:是指测试中的所有输入数据都是随机生成的,其目的是模拟用户的真是操作,并发现一些边缘性的

                 错误
    
                 随机测试可以发现一些隐藏的错误,但是也有很多缺点,比如测试不系统,无法统计代码覆盖率
    
                 和需求覆盖率,发现的问题难以重现,一般放在测试的最后执行
    

    探索性测试:可以说是一种测试思维技术。它没有很多实际的测试方法、技术工具,但是却是所有测试人员

                    都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛开繁杂的测试计划和
    
                    测试用例设计过程,强调在碰到问题时及时改变测试策略
    

    探索式测试是一种软件测试风格(style),它强调独立测试人员的个人自由和职责,为了持续优化其工作的价值,将测试相关学习、测试设计、测试执行和测试结果分析作为相互支持的活动,在整个项目过程中并行的执行

    测试学习:学习任何可以指导测试的知识,可能要学习的内容包括行业背景,领域知识,技术平台,测试技 术,产品缺陷,项目风险等

    测试设计:安排测试计划,拟定测试策略,开发测试想法,制作测试支持材料

    测试执行:执行测试并收集结果,测试可以手工执行,也可以自动执行

    测试结果分析:分析并解读从测试中学到的知识,可能的活动包括判定测试是否通过,理解产品实现,发掘风 险区域,评估测试方法是否有效等

    探索性测试旨在将测试学习,测试设计,测试执行和测试结果分析作为一个循环快速迭代,以不断收集反馈,调整测试,优化价值,并降低软件项目的风险

    产品说明书的检查清单

    1.完整。是否有遗漏和丢失,完全吗,

    2.准确。既定解决方案正确吗,目标明确吗,有没有错误

    3.精准、不含糊、清晰。描述是否一清二楚,容易看懂和理解吗

    4.一致。产品功能描述是否自相矛盾,与其他功能有没有冲突

    5.合理。

    6.代码无关

    7.可测试性

    相关文章

      网友评论

        本文标题:测试基础介绍

        本文链接:https://www.haomeiwen.com/subject/ulsqnxtx.html