0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

测试数字化的代名词,你了解多少?

发表时间:2023-11-18 20:01:49

文章来源:炫佑科技

浏览次数:198

菏泽炫佑科技

测试数字化的代名词,你了解多少?

在测试领域,精准测试已经成为测试数字化的代名词,并逐渐引起测试开发人员的关注。 这也是测试行业的一个具有挑战性的问题。 本文试图回答以下问题:

目录:

1. 测试不准确的五宗罪

2. 精准测试:可追溯的软件测试技术

3、精准检测的核心:数据与溯源

4. 准确测试的关键特征

五、精准检测系统解决方案的价值与实施

6、不同类型的精准测试需求

七、总结

1. 测试不准确的五宗罪

准确测试的理念主要基于以下6点考虑:

虽然测试流程非常规范,但软件质量仍然不尽如人意

随着测试行业的发展,软件测试越来越规范,但大部分测试仍然基于对业务的理解,仍然滞后于真实的业务数据。 准确性难以保证,测试结果无法准确评价软件质量。 定义与判断:系统上线后,问题开始暴露,导致用户体验不佳,甚至造成巨大的经济损失。 归根结底,是因为测试不够,没有引入精确的测试分析。 单纯依靠测试经验是无法判断的。

软件项目验收缺乏良好的可操作测试手段,测试结果缺乏技术可信度。

软件是用来使用的。 虽然软件项目验收过程中需要接受的内容很多,包括合同规定、技术协议、开发文档、产品文档、用户文档、程序代码等,但客户*关心的是自己的业务是否能够真正的并在系统中落实。 如果运行良好且运行良好,仅仅投入少量人力来验证业务功能,抽样测试结果并不能代表整个软件,可信度不具备技术可信度。

传统的手工测试,无法准确、定量地控制测试执行,测试效率较低。

采用传统的手工测试,即采用基于人工评估的黑盒测试方法,创建高可靠性的软件产品需要大量的人力成本。 由于测试执行无法精准定量控制,主要依靠主观定性评价结果,严重依赖人的经验,人员变动较大,质量抖动严重,看不到明确的测试差距和量化目标。 虽然测试不断执行,但缺陷发现率不高,无效的测试消耗了大量的测试成本。

测试人员无法准确掌握缺陷部位,导致与开发人员的协作变得困难。

缺陷处理的一般流程是:测试人员执行用例,如果发现缺陷则提交缺陷系统。 开发人员看到缺陷并重现或远程调试它。 如果测试给开发提供的测试结果是比较模糊的功能逻辑描述,则需要花费大量的时间来重现缺陷。 如果测试人员采用精确的测试技术,就可以通过执行的用例找到相应的程序代码块,这样问题的解决就会快很多,开发人员和测试人员的协同工作也会容易很多。

随着分布式和微服务架构的出现,软件变得越来越复杂,测试也变得越来越具有挑战性。

分布式/微服务架构的采用使得软件系统变得越来越复杂,使得测试变得越来越具有挑战性。 使用传统的测试方法进行测试很难保证系统质量。

在移动互联网蓬勃发展的时代,软件开发的质量要求越来越高,而迭代开发则要求项目周期越来越短,快速版本验证面临挑战。

2. 精确测试:一种可以

回顾性软件测试技术

从字面上理解,精度就是非常准确的意思。 非常准确需要数字来说话。

在测试领域,精密测试是一种计算机辅助测试分析系统,对测试过程的活动进行监控,对采集到的监控数据进行分析,获得准确的定量数据。 它使用这些定量数据进行质量评估并使用这些分析数据。 可以促进测试过程的持续改进,形成测量和分析的闭环。 精准测试是一种可追溯的软件测试技术。

3、精准检测的核心:数据与溯源

精准测试的核心思想是用非常精准、智能的软件来解决软件测试问题,从根本上引领了从经验方法到技术方法的转变。 质量的评估不再基于经验,而是基于准确的数据。

精确测试并没有改变传统的软件测试方法。 唯一的区别是,软件收集测试过程中执行的代码逻辑和测试数据,自动建立测试用例和程序代码之间的逻辑关系。 将软件获取过程加入到测试过程中,可以形成正向和反向可追溯性。

通过前向追踪,开发人员可以看到测试人员执行的用例的代码细节,方便缺陷修复。 测试数据可以直接为开发和调试提供依据,快速定位和修复缺陷。

通过逆向追踪,测试人员可以通过修改源代码快速确定测试用例的范围,大大减少回归测试的盲目性和工作量,快速修改测试用例,*大化测试覆盖率。

4. 准确测试的关键特征

软件测试示波器

在功能测试过程中,程序运行的一些数据指标会被自动分析并以波形的形式实时输出。 示波器是实时计算并显示测试过程数据的实时监控设备。

用例和代码之间的双向可追溯性

执行测试用例后,精度测试程序自动记录并显示测试用例执行的代码。 如果测试人员专注于某一行代码,它可以跟踪哪些用例在执行期间运行了该代码。

智能过滤回归用例集

根据代码变化范围直接准确定位需要回归的用例,使回归测试所需时间更短、回归范围更准确。

准确分析测试覆盖率

准确的测试覆盖率有多种形式,*高可达标准MC/DC(修改条件/决策覆盖率)的100%覆盖率要求。

快速定位软件缺陷

根据缺陷与用例的对应关系,快速找到用例执行对应的代码行。

5. 精准的测试系统

解决方案价值及实施

根据上述需求、概念和关键特征,我们可以设计出以下精确的测试系统。 这也是我们技术团队一直在客户现场使用的测试方案。

成分

精准测试体系主要由测试能力的持续集成平台、统一测试平台和测试监控分析平台支撑。

通过持续集成完成代码构建和编译、静态代码扫描和测试环境部署;

使用统一的测试平台,实现自动化测试和回归;

通过测试监控分析平台,准确详细记录测试用例运行状态,提供大量原生分析数据,进行后续缺陷分析和跟踪,建立测试用例与程序代码之间的关联,实现了测试用例和程序代码的双向追溯。 ,真正实现数据化的测试管理。

测试流程

精准测试的整体流程如下图所示:

精准测试需要结合持续集成、持续部署和持续测试的流程,以及白盒测试技术和黑盒测试技术,实现代码规范、质量和安全扫描,完成单元测试和覆盖率评估,并使用自动化测试方法 实现系统的功能测试。 通过测试监控分析平台,从静态测试和动态测试两个维度实现软件质量的精准评估。

双向追溯

精准测试的核心流程是通过测试监控分析平台实现测试用例和程序代码的双向追溯。

借助测试监控分析平台,测试用例可以自动关联海量代码执行信息,精确到功能级别、代码块级别。 测试人员可以知道测试用例测试了哪些功能以及覆盖了哪些代码。

上图展示了从测试用例到被测代码的前向可追溯性。 通过前向溯源,可以直接在代码层面定位测试现场故障和缺陷逻辑,并提供*终运行的时序数据; 通过前向追溯,可以自动记录生成的函数对应的详细信息。 设计与实现,协助软件解耦和架构分析; 通过前向追踪,可以快速定位缺陷对应的代码执行逻辑,帮助开发人员快速修复缺陷,跟踪难以重现的缺陷。

相反,借助测试监控分析平台,可以实现从程序代码到测试用例的逆向追踪。 下图展示了反射追踪的一个过程。

通过逆向追踪,我们可以轻松确定该代码块对应的测试集。 获得的增量代码可以通过智能用例选择算法准确确定需要回归的测试用例。 准确确定回归测试范围,避免全量回归造成测试资源浪费,保证质量,缩短版本迭代周期。

代码覆盖率

有了准确的测试测试数字化的代名词,你了解多少?,覆盖率统计不再是白盒测试的技术专利。 利用精确的测试技术,系统测试还可以实现程序覆盖率分析,可以实现无需源代码的运行代码的指令覆盖率、分支覆盖率、圈复杂度、行覆盖率和方法覆盖率的统计分析。

程序代码的覆盖率统计可以是单次执行的数据,也可以是多次执行的累计数据,获得一段时间或多人测试执行的累积效果,支持测试覆盖率的整体评估在软件开发周期中。

传统的黑盒测试技术是经验性的模糊测试。 质量和进度看不到,造成大量无效劳动。 系统和人员的管理成本极高,软件质量风险高。

传统黑盒测试中大约70%的缺陷很容易发现,但缺陷发现的效率会急剧下降。 然而传统的白盒测试技术直接面对代码测试,难度大、效率低。 只注重覆盖面,不系统化。 精密测试采用传统黑盒测试和白盒测试相结合的模式。 它可以在黑盒测试过程中通过专用软件自动采集白盒级别的操作逻辑数据,并基于可视化的缺陷和漏洞进行指导。 开发和测试有针对性的补充测试用例,以提高缺陷发现效率。

建设理念

精准检测体系的建立也是一项系统工程,需要长期规划、分步骤、逐步完善。 需要以理论为基础,以实践为准则,不断完善,这样精准的检测系统才能使检测更加智能化,使质量评估更加准确。

6. 项目类型不同

需要准确的测试

并非所有项目类型都适合精确测试。 准确测试的核心需求来自于对软件质量的更高要求,不同的项目类型对质量的敏感度不同。

基于移动互联网的产品普遍需求响应快,产品发布成本低。 他们采用灰度发布并使用A/B测试方法来替代传统的功能测试。 也就是说,他们用小流量来测试新功能。 如果出现问题,很快就会下线,影响发布质量。 不太敏感。

项目型产品一般以用户为中心,需要准确把握用户需求,需要进行系统测试。 用户测试通常用于接受项目,他们对项目上线的质量很敏感。

产品类型的产品需求是自己掌控的。 产品开发周期比较长。 通常有一个独立的测试团队,需要按照一定的流程进行测试。 开发人员进行单元测试,测试人员进行集成测试和系统测试。 而且只有达到一定的质量目标才允许发布,对发布质量的要求比较高。

七、总结

精准测试的核心是利用自动化软件记录软件测试过程数据自动化软件开发,实现双向溯源:从开发到测试的正向溯源和从测试到开发的反向溯源。

通过双向追踪,我们可以实现软件质量的实时监控、回归用例的智能筛选、测试覆盖率的准确分析、软件缺陷的快速定位。

然而,准确的测试并不适用于所有软件项目类型。 互联网应用、项目级应用、产品级应用逐渐提高了对软件质量的要求,即准确测试的要求。

精准测试诞生的核心动力是对软件质量的要求。 无论是项目验收方式的可信度、测试效率的控制、测试人员与开发人员的协作,还是复杂的分布式架构带来的挑战,都是围绕着满足软件质量的需求而展开的。 软件质量的*终价值是用户体验的提升。 数字化转型双模概念提出后,各领域都在寻找在各自业务领域应用和实践数字化转型的解决方案。 精准测试的实施过程实际上是软件测试过程数字化的体现。 精准测试通过提升软件质量来提升用户体验,从而为企业数字化转型提供更可靠的软件能力。

精选问题:

问题一:为什么叫示波器而不叫示波器?

答:示波器的概念源于电子测量仪器。 用于在软件测试过程中记录软件的运行状态,并通过实时分析以波形曲线的形式呈现。 它是一种技术或方法,类似于电子电路示波器。 心电图是一个类比。

问题二:什么是测试监控分析平台? 这些由什么组成?

答:包括仪表组件、Agent、数据传输、数据分析、报表显示等组件。

问题3:这是普源公司自己开发的吗?

答:是的。

问题四:统一检测平台也是普源所有吗?

答:统一测试平台是浦源的自动化测试平台。 详情请参见:移动应用的得力助手:持续集成与自动化测试

作者简介:王俊奇,普源软件产品部统一测试平台产品经理,拥有十多年的开发和测试经验,一直专注于持续集成和自动化测试技术的研究,主导了团队成功实施多个金融、保险相关项目,负责证券等客户的持续集成和自动化测试项目,目前担任普源统一测试平台产品经理,全面负责测试产品开发、预测试工作。 -销售咨询、项目实施等

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多