精华内容
下载资源
问答
  • 2020-11-01 01:50:26

    4.3 灰盒测试

    灰盒测试介于白盒测试与黑盒测试之间,它关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试以程序的主要功能和主要性能为测试依据,测试方法主要根据程序流程图、需求说明书以及测试者的实践经验来设计。

    4.4 静态测试

    静态测试是指不运行测试程序本身,仅通过分析或检查源程序的语法、结构、流程等来检查程序的正确性。静态测试包括代码检查、静态结构分析、代码质量度量等。可以人工或者工具软件进行。

    静态测试最常用的技术就是评审!

    4.5 动态测试

    动态测试是指通过运行被测程序,检查运行结果与预期之间的差异。动态测试是主要的测试方法。

    参考:https://zhuanlan.zhihu.com/p/94842343

    更多相关内容
  • 静态测试-代码审查

    2018-02-13 14:48:33
    代码审查:包括代码审查的测试内容、代码审查的做成和方式、代码审查的步骤、代码审查组的构成、代码审查清单等。
  • 静态测试方法

    千次阅读 2022-03-27 21:49:42
    本文讨论人工静态测试方法和自动静态测试方法,来帮你理解研发流程上是如何保证代码质量的,以及如何搭建自己的自动静态代码扫描方案,并且应用到项目的日常开发工作中去。 人工静态方法 人工静态方法检查代码...

    本文讨论人工静态测试方法和自动静态测试方法,来帮你理解研发流程上是如何保证代码质量的,以及如何搭建自己的自动静态代码扫描方案,并且应用到项目的日常开发工作中去。

    人工静态方法

    人工静态方法检查代码错误,主要有代码走查、结对编程,以及同行评审这三种手段。

    代码走查

    代码走查(Code Review),是由开发人员检查自己的代码,尽可能多地发现各类潜在错误。但是,由于个人能力的差异,以及开发人员的“思维惯性”,很多错误并不能在这个阶段被及时发现。

    结对编程

    结对编程(Pair Programming),是一种敏捷软件开发的方法,一般是由两个开发人员结成对子在一台计算机上共同完成开发任务。其中,一个开发人员实现代码,通过被称为“驾驶员”;另一个开发人员审查输入的每一行代码,通常被称为“观察员”。当“观察员”对代码有任何疑问时,会立即要求“驾驶员”给出解释。解释过程中,“驾驶员”会意识到问题所在,进而修正代码设计和实现。实际执行过程中,这两个开发人员的角色会定期更换。

    同行评审

    同行评审(Peer Review),是指把代码递交到代码仓库,或者合并代码分支(Branch)到主干(Master)前,需要和你同技术级别或者更高技术级别的一个或多个同事对你的代码进行评审,只有通过所有评审后,你的代码才会被真正递交。如果你所在的项目使用 GitHub 管理代码,并采用 GitFlow 的分支管理策略,那么在递交代码或者分支合并时,需要先递交 Pull Request(PR),只有这个 PR 经过了所有评审者的审核,才能被合并。这也是同行评审的具体实践。目前,只要你采用 GitFlow 的分支管理策略,基本都会采用这个方式。

    对于以上三种方式,使用最普遍的是同行评审。因为同行评审既能较好地保证代码质量,又不需要过多的人工成本投入,而且递交的代码出现问题后责任明确,另外代码的可追溯性也很好。结对编程的实际效果虽然不错,但是对人员的利用率比较低,通常被用于一些非常关键和底层算法的代码实现。

    自动静态方法

    自动静态方法具有自动化程度高,检查发现问题的成本低以及能够发现的代码问题广等特点,所以该方法被很多企业和项目广泛应用于前期代码质量控制和代码质量度量。

    在实际工程实践中,企业往往会结合自己的编码规范定制规程库,并与本地 IDE 开发环境和持续集成的流水线进行高度整合。

    代码本地开发阶段,IDE 环境就可以自动对代码实现自动静态检查;当代码递交到代码仓库后,CI/CD 流水线也会自动触发代码静态检查,如果检测到潜在错误,就会自动邮件通知代码递交者。

    自动静态方法通常能够以极低的成本发现以下问题:

    使用未初始化的变量;变量在使用前未定义;变量声明了但未使用;变量类型不匹配;部分的内存泄漏问题;空指针引用;缓冲区溢出;数组越界;不可达的僵尸代码;过高的代码复杂度;死循环;大量的重复代码块;

     C 语言的自动静态扫描工具 splint

    Python中可以pylint进行检查

    主流的自动静态工具 Sonar

    (可以在IDE的pluin管理界面安装SonarLint,安装完重启IDE,可以在IDE环境中实时看到Sonar的静态分析结果,IDE 中绑定 SonarQube,就可以把 SonarLint 和 SonarQube 集成)

    目前,自动静态扫描通常都会和持续集成的流水线做绑定,最常见的应用场景是当你递交代码后,持续集成流水线就会自动触发自动静态扫描,这一功能是通过 Jenkins 以及 Jenkins 上的 SonarQube 插件来完成的,当你在 Jenkins 中安装了 SonarQube Plugin,并且将 SonarQube 服务器相关的配置信息加入 Plugin 之后,你就可以在 Jenkins Job 的配置中增加 Sonar 静态扫描步骤了。

    实践:要求每个开发提交代码前都需要做sonar扫描。

    展开全文
  • 静态测试:测试非运行部分—检验和审查; 白盒测试:访问代码,能够查看和审查; 静态白盒测试:在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结构化分析。 2....

    1.静态白盒测试:检查设计和代码

    静态测试:测试非运行部分—检验和审查;
    白盒测试:访问代码,能够查看和审查;
    静态白盒测试:在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结构化分析。

    2.正式审查

    正式审查:进行静态白盒测试的过程。正式审查的含义很广,从两个程序员之间的简单交谈,到软件设计和代码的详细、严格检查,均属于此过程。
    正式审查有4个基本要素:

    • 确定问题:目的是找出出错和遗漏的项目;
    • 遵守规则:这种规则可能是设定要审查的代码量、花费的时间、那些内容要做评价等。
    • 准备:每一个参与者都要做准备。
    • 编写报告:审查小组必须做出审查报告,并使报告便于开发小组的成员使用。

    除了发现问题,坚持正式审查还有一些间接效果:

    • 交流
    • 质量
    • 小组同志化
    • 解决方案

    2.1 同事审查

    召集小组成员进行初次正式审查最简单的方法是通过同事审查的方式,有时称为伙伴审查。同事审查也要保证正式审查的4个基本要素。

    2.2 走查

    比同时审查更正规的下一步。走查中编写代码的程序员向5人小组或者其它程序员和测试员组成的小组做正式陈述。牢记正式审查的4个基本要素。

    2.3 检验

    检验就是正式的审查类型,具有高度组织化,要求每一个参与者都接受训练。检验与同事审查和走查不同在于表述代码的人—表述者—不是原来的程序员。这就迫使它们学习了解要表述的材料,从而有可能在检验会议上提出不同的看法和解释。
    其余参与者称为检验员,从不同角度(用户、测试员、产品支持人)审查代码。
    有些检验员还同时被委任为会议协调员会议记录员,保证检验过程遵守规则有效进行。

    3.编码标准和规范

    有三个重要的原因要坚持标准和规范:

    • 可靠性
    • 可读性/可维护性
    • 移植性

    3.1 编码标准和规范示例

    标准由4个部分组成:

    • 标题
    • 标准(或者规范)
    • 解释说明
    • 示例

    标准一定要遵守,规范尽力去遵守。

    3.2 获取标准

    大多数计算机语言和信息技术的国家和国际标准可以通过以下站点获得:

    • 美国国家标准学会(ANSI):www.ansi.org
    • 国际工程协会(IEC):www.iec.org
    • 国际标准化组织(ISO):www.iso.ch
    • 信息技术标准国家委员会(NCITS):www.ncits.org

    以下专业组织还提供演示程序规范和最佳实践文档:

    • 美国计算机协会(ACM):www.acm.org
    • 电气和电子工程师协会(IEEE):www.ieee.org

    4.通用代码审查清单

    这些清单是将代码与标准或规范作比较,确保代码符合项目的设计要求。《Software Testing in the Real World:Improving the Process》198-201页给出了这些清单。它们包括:

    • 数据引用错误
    • 数据声明错误
    • 计算错误
    • 比较错误
    • 控制流程错误
    • 子程序参数错误
    • 输入/输出错误
    • 其它检查
    展开全文
  • 所谓静态代码检查就是使用一个工具检查我们写的代码是否安全和健壮,是否有隐藏的问题。比如无意间写了这样的代码:这完全是符合语法规范的,但是静态代码检查工具会提示此处会溢出。也就是说,它是一个更加严格的...
  • Clint是用于静态代码检查技术的测试平台。 目前,它旨在检查C ++中常见的程序员错误并提出改进建议。
  • 静态测试的主要方法有:桌面检查(Desk checking)桌面检查是最不正式,也是最省时的静态测试技术。在所有的技术中,桌面检查是唯一一个被鼓励在作者测试自己的文档时所采用的技术。其它的技术是要依赖于作者之外的...

    静态测试主要指针对文档,而不是程序代码,进行测试。

    静态测试的主要方法有:

    桌面检查(Desk checking)

    桌面检查是最不正式,也是最省时的静态测试技术。在所有的技术中,桌面检查是唯一一个被鼓励在作者测试自己的文档时所采用的技术。其它的技术是要依赖于作者之外的独立的眼睛来进行更加细致、更加客观的复审。桌面检查需要首先运行拼写检查器,语法检查器,句法检查器,或是可以用来帮助文档进行字面检查工作的任何其它工具。然后,作者就可以慢慢的复审文档来寻找文档中的不一致,不完全和漏掉信息的地方。在这个过程所检测到的问题,应该由作者自己来进行直接修改,这当中可能会需要项目管理者或是项目中的其他专家所提供建议。一旦所有的改正工作完成,就应该重新运行前面所讲的字面检查来发现并修改所有由于修改内容而引进的新的拼写、语法和标点错误。

    审查(inspection)

    审查相比桌面检查要稍微正式,同时也稍微更费时间一些。这个技术也能够比桌面检查发现文档中更多的不足。这项技术的意图是,用一双作者之外的眼睛来阅读文档并发现内容上的问题,这个人通常是团队中更加资深的成员。就像桌面检查推荐的那样,待检查的文档应该是经过作者严格字面检查后的文档,这样校对者就可以将注意力集中在文档的内容上。独立的审查者可以将文档拿到任何地方来进行复审。将文档同它的作者分开可以使文档独立阐述自己的东西。如果校对者审查文档的时候同文档的作者在一起,人类的倾向会使得作者影响校对者,这会违背客观审查的目标。在内容中发现的可能问题应该由独立的审查者进行记录,并在随后的会议中呈现给作者。然后作者应该对这些可能的问题提出建议的修改方法。再接下来项目经理或者项目中另外一个资深成员应当对审查者提出的可疑问题列表,以及作者提出建议修改方法进行再一轮的审查,最终协商出一致的修改意见。

    走查(walk-through)

    走查是最正式也是最耗时的文档测试技术,但也是检查内容问题最有效的技术。走查要通过提前安排的会议,参与者包括一个主持人,文档的作者,一些高级技术工作人员以及可能会需要的业务人员。作者在会议前必须完成文档的字面检查,并将文档提前发给每一个参会人员。参会人员先要阅读文档,并且根据他们自己对新系统和应用的理解提出自己认为存在的问题。在安排好的时间,作者在走查会议上将把他们编写的文档拿出来讨论。在会议上主持人就成为了听众们提出的问题和作者所给出答案的协调人。主持人应当保证大家在提出问题时是客观的、心平气和的。走查的主持人会把所有提出的可疑的内容问题,以及作者的回应都记录下来,并在会后提交给项目经理,使用类似上面审查的解决方法做出最后的修改意见.

    所有这些技术都是用来检查被测文档的正确性和完整性的不同方法。

    展开全文
  • java代码静态检查工具

    2018-03-27 17:49:57
    android studio中可以添加本工具,用于代码静态检查
  • 静态测试包括代码检查、 静态分析两种途径。 代码检查包括桌面 检查、 代码审查、 代码走查和技术评审等。 静态分析则是一种计算机辅助的静态 分析方法静态测试目的是为了发现和解决逻辑设计和编码错误
  •  什么是静态测试  静态测试是基于期望属性、专业经验、通用标准来对工作件的特征进行详细检查的一种测试方法。所谓工作件,也就是静态测试的测试对象,是不同种类的产品交付件,即一切项目过程文档,例如系统设计...
  • DevOps系列之 —— 持续开发与集成(六)静态代码检查
  • 静态代码测试

    2019-12-25 21:57:51
    文章目录具体Idea总结静态代码问题检查...分析现在Bug和漏测案例的源代码,并基于现有静态代码检查工具补充规则; 使用静态代码测试的手段来拓展安全测试等方面; 使用静态代码测试的手段来拓展前端/客户端...
  • 静态测试是基于期望属性、专业经验、通用标准来对工作件的特征进行详细检查的一种测试方法。所谓工作件,也就是静态测试的测试对象,是不同种类的产品交付件,即一切项目过程文档,例如系统设计说明书、产品需求文档...
  • 在devops中,代码质量管理环节需要采用一定的静态测试法,本文使用sonarqube对项目代码进行静态检查,sonarqube可以选择多种语言插件安装 sonarqube安装 下载解压sonarqube cd /usr/local wget ...
  • Gitlab CI集成sonarqube实现静态代码检查 配置说明 Gitlab 系统:Ubuntu 16.04 Server 内存:4G IP:192.168.23.100 Dokcer Version : 18.09.0 Gitlab Runner 系统:Ubuntu 16.04 Server 内存:4G IP:192.168.23...
  • 下面先说如何使用androidStudio做静态代码检查 1. 找到Analyze目录下的Inspect Code检查代码选项点击,如下图: 弹出如下框: 然后就可以看到如下:
  • CodeChecker是一个基于LLVM/Clang的C/C++静态代码检查工具。 Github链接: https://github.com/Ericsson/codechecker 开发商:Ericsson(爱立信) 功能特性 支持多种代码检查器,目前主要支持Clang Static ...
  • 白盒测试方法静态分析 我不断收到来自静态分析供应商的电子邮件,告诉我为什么我需要购买他们的技术。 最近,我收到了一封电子邮件,说明我的团队如何使用静态分析工具来完成令人印象深刻的事情,例如“在数分钟内...
  • 测试用例设计方法

    2021-03-23 14:46:36
    测试用例设计方法白盒测试基本技术:控制流图、代码覆盖率...  白盒测试的静态测试方法代码检查法、静态结构分析法、代码质量度量法等。  白盒测试的动态测试方法:功能确认与接口测试、逻辑覆盖分析法、基本路径
  • PCLint静态代码检查工具

    热门讨论 2014-12-20 11:23:37
    PC-Lint 是GIMPEL SOFTWARE 公司研发的C/C++软件代码静态分析工具,他的全称是 PC-Lint/FlexeLint for C/C++。PC-Lint 能够在Windows、MS-DOS 和OS/2 平台上使用,以二 进制可执行文档的形式发布,而FlexeLint 运行...
  • 静态测试和动态测试

    千次阅读 2020-04-03 14:17:05
    动态测试和静态测试的区别在于是否运行代码 静态测试 仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。可以发现违背...
  • Python 常用静态代码检查工具简介

    千次阅读 2018-07-26 10:04:09
    对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心。...这时候 Python 静态语法检查工具就出现了。 本文使用之...
  • 推荐几个代码静态分析工具

    千次阅读 2021-04-26 00:24:44
    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号|嵌入式专栏大家平时写代码,有用代码静态分析工具进行分析吗?可能很多人都没有对代码进行过静态分析,今天就来...
  • 白盒测试——静态白盒测试

    千次阅读 2021-04-02 15:09:03
    静态白盒测试方法 代码检查法 定义:代码检查法主要检查代码和程序设计的一致性,代码结构的合理性,代码编写的标准性、可读性,代码逻辑表达的正确性等方面。主要参考文档:程序设计文档、程序的源代码清单、编码...
  • 1. 静态测试 在软件测试技术之中,静态测试是经典的测试技术一类。这里,我们先概 要解释和说明一下静态测试技术。... 静态测试方法,主要有人工(手工)评审与静态分析(人工或机器自动检测)两大类。通...
  • 提高代码质量之静态代码检查

    千次阅读 2017-02-14 10:07:54
    前言 ...在团队Android项目开发过程中,难免会出现一些比较不...为了保证团队开发中代码的规范以及尽量避免低级bug,我们往往需要一些工具来进行严格的检查。下面将介绍在项目中用到的四种插件 lint、findBugs
  • 使用SpotBug进行静态代码检查

    千次阅读 2019-11-07 18:46:51
    在运行程序前我们可以通过编译来...通过使用静态分析工具SpotBugs,浏览代码以查找某些“已知的坏味道”:可能会导致偶发性/间歇性问题,性能不佳等的事物。这些问题很难通过测试找到,因此通过检查通常是唯一可行的...
  • 代码质量静态检查工具

    千次阅读 2019-10-30 19:29:29
    代码质量静态检查工具可以自动快速发现劣质代码,潜在Bug,给出代码优化建议。因此代码静态检查工具在实际项目研发中有举足轻重的作用,利用好各种优秀检查工具是做好品质管理的重要环节。 二静态分析和动态分析 ...
  • 常见测试方法

    2021-03-23 15:12:47
    一、按是否执行软件可分为以下测试类型:  1、静态测试:  静态...(程序的语法、结构、接口、过程、需求文档、设计文档、流程图、参数、循环嵌套、分支嵌套,递归、空指针)  静态测试方法:方案—代码走查、桌面检

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 219,495
精华内容 87,798
关键字:

静态测试代码检查方法