• 灰盒测试


    灰盒测试是基于程序运行时刻的外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。

    灰盒测试的好处:


    1、 能够进行基于需求的覆盖测试和基于程序路径覆盖的测试;
    2、 测试结果可以对应到程序内部路径,便于bug的定位、分析和解决;
    3、 能够保证设计的黑盒测试用例的完整性,防止遗漏软件的一些不常用的功能或功能组合;
    4、 能够需求或设计不详细或不完整对测试造成的影响。

    缺点:


    1、 投入的时间比黑盒测试大概多20-40%的时间;
    2、 对测试人员的技术要求更高;


    那么什么样的项目适合做灰盒测试呢?
    这适合于大多数项目,但是这需要根据项目的重要性来决定。对于重要的项目、尤其是涉及到生命或重大财产安全的项目适合使用这种测试方法。但是,任何项目都会从灰盒测试中获益。

    做灰盒测试需要哪些条件呢?
    1、需要在测试中,除了部署产品之外,还有就是程序源代码,不管外部是多少漂亮界面或易用的功能,最终都是由源代码来实现的。所以在部署时,要安装源代码。从源代码编译生成的目录中运行软件。
    2、需要代码覆盖率工具的配置;部署可以针对本软件开发语言的代码覆盖率工具;
    3、测试人员要具备阅读代码的能力,其对开发语言的熟悉程度和程序设计经验多少决定了采用灰盒测试能够取得多大的好处,所以配置这方面的测试人员或进行必要的培训是必要的。
    那么有人可能问,服务器端软件适合做灰盒测试吗?回答是肯定的。任何一个项目都可以从灰盒测试中获得裨益。不管是手机中使用的各种嵌入式软件、还是web页面和服务器端的任何脚本,都可以运用这种测试方法。

    系统测试主要分为以下几种:

    1.恢复测试

    2.安全测试

    3.强度测试

    4.性能测试

    测试原则:

    1、应当把“尽早和不断的测试”作为开发者的座右铭
    灰盒测试
    灰盒测试
    2、程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。
    3、设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。
    4、一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。
    5、对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
    6、制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
    7、回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
    8、妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

  • 相关阅读:
    client-go和golang源码中的技巧
    使用Prometheus监控snmp
    kubernetes client-go解析
    go 语言的一个赋值操作
    使用Prometheus监控bind9的DNS服务
    验证Prometheus alertmanager邮件发送
    JS 监听浏览器各个标签间的切换
    通过案例理解position:relative和position:absolute
    浏览器的统一指针事件:Pointer Event
    Chrome浏览器读写系统剪切板
  • 原文地址:https://www.cnblogs.com/tianzh/p/4461724.html
Copyright © 2020-2023  润新知