• 0
  • 0
分享
  • 软件测试核心概念——软件测试圈
  • 恬恬圈 2020-12-23 14:05:46 字数 2578 阅读 1676 收藏 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 什么是测试用例测试用例为一组条件或变量,根据其来确定应用软件是否能够正常的工作。其条件和变量为测试用例。测试用例属于最小的执行的实体,只有两种,通过或不通过。基本原则测试用例的最小化举例 要测试功能A 其有三个子功能为A,B,C有两种方法设计测试用例,方法1; 用一个测试用例覆盖子功能。(一份文档)方法2:用三个单独的用例来覆盖三个子功能(三份文档)其中,应该选择方法2设计测试用例,因为其能覆盖的边界定义更加清晰,对产品的指向性更强,耦合度最低。覆盖面广尽可能的覆盖业务逻辑覆盖用户场景覆盖需求点测试目标明确不能具有冗余的用例测试用例覆盖测试策略要尽可能的覆盖基本流(核心的业务逻辑)备选流(业务...
            0 0 1382
            分享
          • 51Testing软件测试圈的小伙伴们,九月开学季开始啦!为了给测试人员更多测试技能的提升,51Testing软件测试圈为大家准备了资深测试专家文章合辑~资深测试专家的精品文章内容包含:1、初级向中级测试工程师进阶2、入门测试行业的必备条件3、自动化框架构建4、测试经验分享5、python服务端小案例6、Python3编写接口自动化框架7、现有测试质量模型优化8、HTML基础9、浏览器兼容性策略本次活动资深测试专家及主题分享:蚂蚁金服开发工程师-任建勇曾供职于多家互联网公司及(比如支付宝)大型外企,多年安全测试以及测试管理工作经验,曾担任开发工程师、自动化测试 工程师、安全测试工程师...
            7 3 11713
            分享
          • 1、Blocker级别——中断缺陷客户端程序无响应,无法执行下一步操作。2、Critical级别――临界缺陷,包括:功能点缺失,客户端爆页。3、Major级别——较严重缺陷,包括:功能点没有满足需求。4、Normal级别――普通缺陷,包括:数值计算错误JavaScript错误。5、Minor级别—一次要缺陷,包括:界面错误与UI需求不符。打印内容、格式错误程序不健壮,操作未给出明确提示。6、Trivial级别——轻微缺陷,包括:辅助说明描述不清楚显示格式不规范,数字,日期等格式。长时间操作未给用户进度提示提示窗口文字未采用行业术语可输入区域和只读区域没有明显的区分标志必输项无提示,或者提示不规...
            0 0 5793
            分享
          •  一、工具背景介绍Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。创建表空间和表它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和...
            0 1 2089
            分享
          •   软件缺陷管理的价值有哪些?又有哪些实践可以发挥这些价值?  1. 价值类型  在分享软件缺陷管理的价值前,我们先考虑下:我们日常中是怎么样去思考做一件事的价值呢?如图1-1所示,大致可以分为两类,一种称之为过程价值,也就是通常说的“参与就是收获”,做了一件事,可能并没达到目标,但是做事的过程让我们也有目标之外的收获。另一种就是结果价值,也就是目标导向,做了一件事,顺利达到了预定的目标。图1-1 价值分类  2. 缺陷管理的价值  回到缺陷管理价值的思考上,我们做软件缺陷管理的初衷是什么?引用网上的定义:“软件缺陷管理(Defect Management)是在软件生命周期中识别、管理、沟通任...
            0 0 695
            分享
      • 51testing软件测试圈微信