• 0
  • 0
分享
  • 软件测试核心概念——软件测试圈
  • 恬恬圈 2020-12-23 14:05:46 字数 2578 阅读 1499 收藏 0

软件测试

什么是软件

软件=程序+数据库+文档+服务

软件测试的定义

软件测试是使用人工和自动手段来运行或测试某个系统的工程,其目的在于检验被测软件系统是否满足规定的需要,或是弄清楚被测系统的预期结果与实际结果之间的差别

软件测试的误区

如果有良好的设计和高水平的程序员,就不需要测试了

软件测试并不创造任何代码和产品,可以不需要测试

测试等与调试

软件需求规格说明应详细的包含所有用户的需求

软件测试可以提高软件质量

测试没有技术含量

软件缺陷的概念

软件测试员认为软件难以理解

软件未达到需求规格说明书中指明不会出现的错误

软件出现了需求规格说明书中指明的范围

软件功能超出需求规格说明书中指明的范围

软件未达到需求规格说明书中虽未指出但应达到的目标

软件测试的发展历程

第一阶段:初始阶段

第二阶段:定义阶段

第三阶段:集成阶段

第四阶段:管理、测量和最优化阶段

软件缺陷

软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好

软件未达到需求规格说明书中指明的功能

软件出现了需求规格说明书中指明不该出现的错误

软件功能超出需求规格说明书中指明的范围

软件未达到需求规格说明书中虽未指出但应达到的目标

Bug:庞大而昂贵的真空管组成,计算机运行产生的光和热,吸引了一只小虫子钻进真空管里,导致整个计算机无法工作,找到并取出后,恢复工作,bug这个词就流传下来

黑盒测试技术

测试方法

基于决策表的测试方法等

等价类测试

定义:依据需求对输入的范围进行细分,然后再分出的每一个区域内选取一个有代表性的测试数据开展测试

满足条件

(1)被测系统对该等价类中的每个数据的处理方式相同(保证等价)

(2)各等价类之间互不相交,即每个数据唯一隶属一个等价类(保证不冗余)

(3)所有等价类的并集是整个输入域(保证完备)

等价类划分的原理:通过等价划分满足:测试的完备性和无冗余性 划分原则:分而不交、合而不变、类内等价

等价类测试的分类

有效等价类

定义:对于SRS而言,合理、有意义的输入数据构成的集合,即被测对象能接受的数据,用于考查软件的正常工作能力

无效等价类

定义:对于SRS而言,不合理、无意义的输入数据构成的集合,即被测对象不能接受的数据,用于考查软件的容错能力

SRS

等价类划分的简便原则

(1)将某个输入条件所有可以取的值划分为一个有效等价类,其余取值划分为一个无效等价类

(2)针对有效等价类,通过不断施加规则,将满足规则和不满足规则的数据划分为不同的有效等价类

(3)重复该步骤,将有效等价类中不断划分为更多子有效等价类,直至无法继续划分为止,最终得到的每个有效等价类代表了被测对象的一种特殊的处理方式

等价类中所有数据是否完全等价的简便原则

1)在某个指定的等价类中,被测对象对该等价类中的输入数据或输入项的处理方式是否一致

2)如果不一致,则该等价类需要进一步做等价划分

强组合:最终得到的测试用例完全覆盖所有输入条件的有效等价类的所有组合情况;实质是构成有效等价类数量的笛卡儿积,即完全组合

弱组合:测试用例仅需覆盖所有输入条件的有效等价类即可

什么是等价类划分?依据需求对输入的范围进行细分,然后再分出的每一个区域内选取一个有代表性的测试数据开展测试

测试中几个概念

黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下检测每个功能是否正常使用白盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

静态测试:不运行程序,只是对程序进行检查和审核 动态测试:使用和运行程序进行检查

通过性测试:审查软件,描绘状态,尝试各种合法可能性,确认状态及其转换正常失效行测试:为了破坏软件而设计和执行的测试用例

边界值测试

定义:在被测对象的边界及边界附近设计测试用例基于:独立性假设和单缺陷假设

测试难点(4点)

输入域(被测数据)的确定边界的确定边界点附近邻域的设置测试用例的设计 输入域:整体输入域:多个输入条件共同构成的具有一定实际意义的输入域 个体输入域:输入条件分别构成的单个输入域的集合

边界值测试用例设计—数据选择:

穷举法:在每个边界点的邻域范围内取所有数据典型值法:在边界点a处选择a-1 ,a ,a+1 这三个值作为测试数据强边界法:测试用例覆盖所有输入条件的所有边界组合弱边界法:基于单缺陷假设,仅覆盖输入条件的单个边界点即可全边界法:强边界+弱边界

决策表

决策表是一个用表格形式来整理逻辑关系的工具,由横向的条件(因)和动作(果)和纵向的规则(测试用例)组合而成

使用决策表生成测试用例

1.分析条件和动作

2.生成决策表

3.简化决策表

4.转成测试用例

场景设计的基本原则

最少的场景数等于事件流的总数,基本流与备选流的总数2.有且唯一有一个场景仅包含基本流3.对应某个备选流,至少应有一个场景覆盖,且在场景中应该避免覆盖其他备选流

基于场景的测试基本思想

通过分析不同事件的触发顺序和处理结果;构建各个事件流,并基于这些事件的触发控制业务流程,形成多个不同的场景,最终基于场景设计测试用例

基本流:从系统的某个初始状态开始,经一系列状态变化后到达终止状态的过程中最主要的一个业务流程。

备选流:以基本流为基础,在经过基本流每个判定节点处满足不同的触发条件从而导致其他事件流

因果图

用图解的方法表示输入输出之间的各种组合关系,写出判定表,从而设计相应的测试用例

因果图测试

1.分析需求

2.找出因果关系,原因与原因之间的关系,画出因果图

3.将因果图转换成决策表

4.根据(3)中的决策表,设计用例的输入数据和预期输出

因果图的使用场景

应用的输出结果依赖于各种输入条件的组合或各种输入条件之间有某种相互制约关系时

因果图法

从需求中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转化成判定表,通过判定表生成测试用例的方法。

状态迁移图法

是一种基于产品规格分析,对系统的每个状态及与状态相关的函数进行测试,通过不同的状态验证程序的逻辑流程

有限状态机,可以用状态图,状态表,状态树表示

状态迁移图的使用步骤

1.根据需求,理解关键字段,获得主要的状态

2.绘制状态迁移图

3.画出状态迁移树

4.抽取测试用例规则(每个状态至少到达一次)


作者:vtest top

原文链接:https://blog.csdn.net/PofourFu/article/details/110131907#comments_14172190

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在刚入行软件测试的时候,shell脚本也就是了解这个概念,那会儿也基本用不到这个技能,工作做得最多的就是点点点。  现在由于所处行业的关系吧,经常要在linux服务器做些常见操作。遇到不会的就百度,也慢慢的学了一些之前没有接触过的linux 命令,也开始看shell脚本的书籍,看过没有实战没有练习,也就存在一个概念。  Linux命令用多了,自然而然想到了shell脚本,想要用它来解决一些工作中的重复操作,于是开始边学边用,效果还不错。  工作场景:  我们测试的时候会把软件包拷贝到管理平台的软件仓库中,如果仓库中有,就要覆盖掉。  手动操作的流程是这样的:  wget【url】:下载软件...
            0 0 727
            分享
          • 背景最近在研究如何做接口测试,自己所在的项目,恰好使用的是 HTTP 协议,且内网通信可以直接用 Charles 抓包,能看到明文,自己试着用 Python 的 requests 库进行了收发包,发现可以正常通信,就自然而然的想到了,接口测试落地。之前的项目里,客户端源码也看过一些,网络通信部分也能看懂,但多多少少会有一些问题:序列化/反序列化、加密解密怎么处理?如果用现成代码,C#/Lua 得学;如果用 python 重写,成本太高。抱着侥幸心理,尝试寻找另一种解决方案:从 Python 里调用 C#/Lua 的东西,后来尝试未果。。项目解散,也就没能继续。过程经过探索,编写一条用例流程:构...
            0 0 707
            分享
          • 前言:本篇讲堂是紧接【安全测试工具-进阶篇[路径穿越和SQL注入防御]】的内容。例牌,先说下安全测试工具的更新情况【工具地址:https://gitee.com/samllpig/SafeTool-51testing】定位内容模块,添加重放功能集成平台,增加令牌弱密钥爆破、时间戳转换、生成JWT身份令牌三大模块小工具-编码器模块,增加Base64Url编解码功能 身份验证、会话管理、访问控制堪称web系统最重要的三大安全机制,是恶意黑客重点进攻的方向,也就是测试人员重点测试的方面。 本篇讲堂详细讲解身份验证,让大家理解,黑客是如何利用身份验证的设计缺陷,或讲漏洞,获得合法身...
            2 2 36
            分享
          •   TikTok Shop "链接很快就会在社交媒体应用中变得更加常见。据彭博社报道,该公司正在测试一项新功能,它能自动识别平台视频中的商品,然后提供一个链接,"在 TikTok Shop 上查找类似商品"。该公司发言人没有立即回应置评请求,该功能也更像是一个早期测试。  去年 11 月,Business Insider 曾对同一功能进行过测试,我们还发现了去年9月和10月包含 "在 TikTok 商店查找类似商品 "按钮的视频。TikTok 此前证实,它正在美国和英国的少数用户中测试该功能。一位在视频中添加了产品链接的用户没有被告知该链接将被...
            0 0 684
            分享
          •   最近有工作了一年多的朋友在问我,一个web页面到底怎么测试?我的第一感觉是震惊,天天做web测试,咋还不知道怎么测试呢?再仔细一想,可能是我们每天忙于测试而忽略测试导致的,毕竟当局者迷,旁观者清。  下面就说一下,该从哪些角度测试一个web网站,希望给同样不知所措的你一点提示:  一、UI测试  UI用户界面测试,主要检测前端页面展示效果的,测试关注的点有如下几方面:  1、各页面的风格是否统一  2、各页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示 、各页面的title是否正确  3、栏目名称、文章内容等处的文字是否正确,有错别字或乱码;同一级...
            14 16 2858
            分享
      • 51testing软件测试圈微信