• 0
  • 0
分享
  • 软件测试基础知识点——软件测试圈
  • 北极 2021-04-28 10:00:07 字数 2293 阅读 2600 收藏 0

一、软件质量模型

  1. 功能性:能够满足明确和隐含要求的功能;

  2. 可靠性:能够处理异常情况,在错误中很快恢复;

  3. 易用性:易懂、易学、漂亮好看;

  4. 效率性:占用少量资源,提供适当的性能;

  5. 维护性:指产品可被修改的能力;

  6. 可移植性:指软件产品从一种环境迁移到另一种环境的能力。

二、软件测试分类

(1)是否覆盖源代码

  • 黑盒测试;

  • 白盒测试;

  • 灰盒测试。

(2)按照阶段划分

  • 单元测试:对软件中最小的可测单元进行的测试;

  • 集成测试:在单元测试的基础上,对多个单元组装后的产物进行测试;

  • 系统测试:在集成测试的基础上,把软件看作一个整体进行测试;

  • 验收测试:也叫交付测试,以最终用户的角度确认软件是否符合预期。

(3)是否运行

  • 静态测试;

  • 动态测试。

(4)是否自动化

  • 手工测试;

  • 自动化测试。

(5)更多分类

  • 冒烟测试:对基本功能,主要功能进行测试,避免测试资源的浪费;

  • 回归测试:对BUG或者测试用例进行回归测试;

  • 随机测试:假设第一次接触软件进行随机测试,避免惯性思维;

  • 探索测试:同时做测试设计和测试执行,探索复杂场景,容易被忽略的场景。

三、软件开发常见模型

(1)瀑布模型

1.jpg

  • 过程:需求分析——概要设计——详细设计——编码——软件测试——软件维护;

  • 优点:阶段清晰;

  • 缺点:依赖于需求分析的成果;

  • 适用:需求明确的、大型项目。

(2)快速原型

2.jpg

  1. 过程:快速分析——构造——运行——客户评价;

  2. 优点:支持客户的参与,适应需求灵活的项目;

  3. 缺点:文档不完善,不满足大型项目的需求;

  4. 适用:需求灵活的中小型项目。

(3)敏捷开发模型

3.jpg

在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

优点:敏捷开发的高适应性,以人为本的特性、更加的灵活并且更加充分的利用了每个开发者的优势,调动了 每个人的工作热情。

缺点:由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大 的困难。

四、软件测试模型

(1)V模型

4.jpg

  • 过程:开发半个V,测试半个V;

  • 优点:包含了底层测试和高层测试;

  • 缺点:测试介入时间晚

(2)W模型

5.jpg

  • 过程:开发一个V,测试一个V;

  • 优点:测试介入时间早;

  • 缺点:步骤复杂,对人员要求高。

五、软件缺陷

(1)软件缺陷的定义和标准

定义:软件或程序中存在的各种问题和错误

标准:

  • 未达到需求规格说明书标明的功能;

  • 出现了需求指明不会出现的错误;

  • 超出需求的范围;

  • 未到达需求虽未指明,但应该达到的目标;

  • 软件难以理解,不易使用,运行速度慢。

(2)缺陷报告的关键因素

6.jpg

黑盒测试和白盒测试

黑盒测试:

不考虑程序的内部逻辑结构,着眼于程序外部结构,针对软件界面和软件功能进行测试;

测试方法:等价类划分,边界值分析,因果图法,错误推测法,场景法,正交实验设计法,功能图分析法,判定表驱动分析法。

  • 等价类划分:把所有可能的输入数据,划分成若干子集,然后从每一子集中选取少数和具有代表性的数据作为测试用例;

  • 分为有效等价类和无效等价类;

  • 边界值分析:对输入或者输出的边界值进行测试,应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据,而不是选取等价类中典型值或任意值作为测试数据;

  • 错误推测法:根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例;

  • 因果图法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适用于检查程序输入条件的各种组合情况;

  • 判定表驱动分析法:判定表是分析和表达多逻辑条件下执行不同操作的情况工具,优点是:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏;

  • 正交实验设计方法:利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等。

  • 功能图分析方法:

  • 场景设计方法:现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

白盒测试:

  • 白盒测试又称透明盒测试、逻辑驱动测试;

  • 是测试被测单元内部如何工作的一种测试方法;

  • 根据程序内部的逻辑结构及相关的信息来选择和测试用例,对程序的逻辑结构进行测试;

  • 可覆盖全部代码、分支、条件和路径等。

测试方法:

  1. 语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖;

  2. 语句覆盖:使程序中可执行的语句至少执行一次;

  3. 判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次;

  4. 条件覆盖:要使每个判定中每个条件的可能值至少满足一次;

  5. 判定-条件覆盖:使得判断条件中的所有条件可能至少执行一次取值。同时,所有判断的可能结果至少执行一次;

  6. 条件组合覆盖:使得所有可能的条件取值组合至少执行一次;

  7. 路径覆盖:设计所有的测试用例,来覆盖程序中的所有可能的执行路径。


作者:Mecury_

原文链接:https://blog.csdn.net/qq_35006802/article/details/115358089


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   前言:  笔者自2019年开始承担QA部门的招聘任务,至今约聊过的候选人有300多,有些心里话,想和QA小伙伴坦言相告。  (ps:如有冒犯,敬请谅解,有些吐槽请勿对号入座^_^)。  1.面试过程中的常见通病  1.1 简历  有句俗话叫"字如其人",意思是说一个人的字迹多多少少反应了一个人的精气神;而简历,是通往Offer路上的第一站。  简历上的履历是否完整,项目经历(项目所用的技术,团队规模,业务)是否亮眼,都会给HR和面试官留下第一印象。  虽然在过滤候选人的过程中绝非靠第一印象决定是否录用,但第一印象好了绝对不会是扣分项。  以下一些点,请小伙伴们注意:  ...
            0 0 1940
            分享
          •   欧盟反垄断主管玛格丽特-维斯塔格(Margrethe Vestager)表示,欧盟对苹果公司的App Store及其涉嫌不遵守该地区新法律的行为存在多个问题,并表示在必要时会实施罚款。此前有传言称,欧盟即将对苹果公司开出罚单,指控其继续阻止竞争对手推广替代服务。现在,欧盟竞争事务专员玛格丽特-维斯塔格(Margrethe Vestager)证实,欧盟正在对苹果公司进行调查。  她在CNBC 节目中说:"嗯,我们有一些有关苹果公司的问题,[而且]我觉得这些问题令人惊讶且非常严重。"  "我可以说,这不是我们对这样一家公司的期望,"她继续说道。"...
            0 0 467
            分享
          • 读者提问:一句话需求怎么测 ?阿常回答:帮产品做需求实例化1、什么是需求实例化2、为何做需求实例化3、怎么做需求实例化一、什么是需求实例化需求实例化,即用实例来说明需求。实例化需求的核心概念:1、用例子来分析和澄清需求。2、这些例子随后会转化为测试用例。3、最后再通过测试验证需求。二、为何做需求实例化哎,这还不是被逼的嘛!需求只说一句话,既没有背景也没有上下文,这句话到底想传达什么意思,就不是很明确了。用实例的方式说明需求,使得产研测三方能够进行有效的交流沟通,使得大家对于本条需求要交付哪些东西能够快速达成共识。三、怎么做需求实例化一)澄清价值1、澄清业务背景2、系统的上下文3、澄清...
            0 0 1002
            分享
          •   要了解越权测试,首先要先了解什么是越权攻击。  越权攻击顾名思义就是超越了自己的权限范围,是指用户通过某种方式获取到了不属于自己的权限。越权攻击分为水平越权和垂直越权。  下面我们先来说一下水平越权  水平越权:攻击者尝试访问与他权限相同的用户资源。比如说在修改用户信息时,在浏览器上用户可以看到该用户的ID是多少,如下图:  这里如果攻击者通过猜测或者其他途径获取到了其他用户的ID是多少,那么就可以在浏览器的地址栏里将ID直接换成要攻击的用户ID,就可以访问被攻击用户的用户信息并对其进行修改。  再举一个例子,比如说一个用户在某网站上买了一件商品,但是地址填错了,要去修改地址。  我们看到...
            12 12 2539
            分享
          • 读者提问:在线二维码生成器有推荐的吗 ?阿常回答:有,草料二维码。官网地址:https://cli.im 阿常碎碎念:平时给小伙伴分享文件、图片、文章、音视频,用草料二维码很方便,推荐大家使用。看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信阿常,一起探讨交流。
            0 0 1003
            分享
      • 51testing软件测试圈微信