软件测试之精准测试

最近一直听小伙伴们说精准测试,什么是精准测试呢?

一、什么是精准测试?

精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含的软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生产系统,这些功能完整的构成了精准测试技术体系。

二、精准测试的设计思想

1、通过测试示波器技术,记录黑盒测试用例对应的代码逻辑,实现测试用例到代码逻辑的精准记录和双向追溯;代码级的缺陷定位和崩溃分析;精准的测试充分度分析。
2、关联代码的覆盖率计算可视化技术;条件及其组合执行的可视化;实时的程序运行指标图形输出;人工交互式的代码控制流程图、函数调用图。
3、智能回归测试用例选取算法;基于测试用例执行剖面的用例聚类算法;动、静态信息的高危测试漏洞检出算法;多版本测试数据的自动聚合。
4、所有测试数据均是在测试执行过程中由软件自动分析并录入的底层代码运行数据,记录测试现场的情况,并基于这些可信的数据给出测试结果。

三、精准测试的核心组件

1、软件测试示波器
精准测试数字化测试在黑盒功能测试过程中采集动态覆盖率的技术组件,即软件测试示波器,精准测试示波器能够在测试过程中,自动分析程序运行的一些数据指标,以波形的形式进行实时输出,例如跟踪显示程序执行的逻辑块的速率指标,程序执行的条件数速率指标等。示波器还能够用来对程序的行为进行分析。例如可以通过示波器来判断不同的测试用例是否为等价类因此示波器可以记录每个功能对应的输入准确的逻辑块执行的数量,因此当程序的行为发生明显变化的时候,示波器可以分析出来。
精准测试示波器在使用上对常规的测试没有特别的干扰,示波器内部也维护一套测试用例,但是更多的是一种符号的象征。示波器的作用是在测试用例执行的过程中采集测试用例对应的代码逻辑的运行信息。测试工程师只要真正开始某个用例执行之前,首先选择测试用例,其次点击开始录制按钮,最后回到应用上根据预先设计的用例流程操作被测试程序即可,当执行结束后单击结束按钮。在执行测试用例的过程中所有代码执行逻辑都会自动映射到这个测试用例上。人工的点击开始和结束主要用来界定测试用例的执行边界,示波器会把这个阶段产生的程序执行信息映射到所选择的测试用例上。

2、用例和代码的双向追溯
精准测试提出了测试用例和代码的双向追溯,它也是精准测试核心技术之一。即运行一个测试用例以后,精准测试可以通过程序自动的记录和显示这个测试用例执行的代码。如果测试人员关注某一些代码行,它可以追溯出哪些测试用例在运行过程中运行过这段代码。通过这个技术特性,测试工程师的每个测试用例都可以进行量化分析和统计,这些量化数据既可以用来对测试工程师进行工作的考量,也可以提供开发人员和测试人员之间进行信息化的交流。
双向追溯技术记录了每个测试用例对应的程序内部的执行细节,细致到每个条件、分支、语句块的执行情况。开发人员可以通过双向追溯的结果去理解程序逻辑,进行软件维护以及进行可一致性的修改。开发和测试可以顺利交流,增加测试和开发的交流效率。
在这里插入图片描述
双向追溯技术分为正向追溯与反向追溯。正向追溯是指:将测试用例和代码执行信息自动关联,可到函数级别及代码块级别;通过正向追溯可直接在代码级定位测试现场故障和缺陷逻辑,并提供最后运行的时序数据;通过正向追溯自动记录产生功能对应的详细设计实现,辅助软件解耦和架构分析。
在这里插入图片描述
反向追溯是指:分析代码关联的功能,为研发分析系统和进行一致性修改以及回归测试分析提供数据。

3、智能回归测试用例选取算法
精准测试提的智能回归测试用例选取算法:
(1)检查测试出的软件问题是否得到了正确的修改;
(2)被测软件在被修改之后,各项功能依然正确(未引入新的缺陷)。
智能回归算法选取的结果如下:
(1)适应版本迭代周期,适应大的工程项目。
(2)在回归测试时,自动筛选测试用例,减少回归测试的时间以及风险。
(3)降低了人工回归分析产生的测试盲点。
(4)精确计算回归用例的权重,测试人员在时间有限的情况下可以重点回归受改动影响最大的用例。
在这里插入图片描述

4、灰盒模式下的代码覆盖率分析
测试覆盖率是测试界公认的可用量化指标。精准测试的设计是通过软件示波器以透明的测试再系统测试阶段取采集代码覆盖率,然后再后台完成运算,这个过程是以灰盒的模式运行。
精准测试覆盖率形式多样,最高支持标准MC/DC的100%覆盖率要求,有覆盖率每日增长趋势图。通过该报表观察整个测试进度情况,精准测试平台的覆盖率趋势图通过对于团队的质量控制,能够对测试进度进行预判,也能够对测试效率进行有效的识别。

5、测试用例的聚类分析
基于精准测试系统,构建的测试用例与代码的的执行剖面的关系,可以对测试用例的执行进行聚类分析。根据真实的执行剖面进行聚类,将会对测试用例的聚集性属性进行分析。测试用例的执行剖面结构矩阵的输入为两维数据,第一维为测试用例的名称(ID),然后是该用例对应的函数执行剖面或者代码块执行剖面,然后将剖面数据向量化以后通过K-Means等标准聚类算法进行聚类分析。

四、精准测试的效率

精准测试是结合传统的黑盒测试与白盒测试相结合的模式,它可以在黑盒测试过程中,通过专用程序自动采集白盒级别的运行逻辑数据,根据可视化出来的不足点和漏洞点,引导开发和测试有针对性的补充用例。
在这里插入图片描述
精准测试系统在长期的软件维护过程中精准测试系统对于维护的效率提升。精准测试下的维护完全由计算机的分析系统所主导,大型软件之所以难以维护,是因为传统的软件开发过程对于软件维护更多的基于人对于软件系统的理解,而随着维护的进行人的记忆以及人员的变动都影响维护的效率,还有就是老的系统维护成本会不断增加。精准测试则通过测试过程中所记录的数据,在持续的迭代过程中记录分析数据,随着迭代的进行,数据记录的累积,从而得到分析结果。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
星云精准测试白皮书是星云链官方发布的一份详细说明文档,其目的是介绍星云精准测试的概念、原则和实践方法,以及在星云链上实施精准测试的步骤和注意事项。 白皮书首先介绍了精准测试的背景和意义。随着区块链技术的快速发展,越来越多的应用和智能合约在星云链上得以部署,而为了保证这些应用和合约的质量和安全,精准测试显得尤为重要。白皮书强调了星云链凭借其强大的智能合约调试和测试功能,成为一个适合实施精准测试的理想平台。 接下来,白皮书详细解释了精准测试的原则和方法。精准测试是一种基于区块链的高效测试方法,具有高度可重复性和可验证性。白皮书介绍了如何通过编写完整的测试用例、模拟多种场景和调试工具来进行精准测试,以提高测试覆盖率和可靠性。 然后,白皮书重点介绍了在星云链上实施精准测试的步骤和注意事项。首先,需要通过星云链提供的工具和接口,准备好测试环境和基础设施。然后,编写完整的测试用例并进行场景模拟,以覆盖各种正常和异常情况。在测试过程中,需要注意合约的安全性和性能,及时反馈和解决问题。最后,进行测试结果的分析和总结,并及时修复和改进。 总的来说,星云精准测试白皮书是一份重要的指南,提供了关于在星云链上实施精准测试的详细说明和建议。对于开发者和应用程序部署者来说,阅读和理解这份白皮书将有助于提高其在星云链上的应用和合约的质量和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小志老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值