5.6 智能化测试 在介绍智能化测试之前,我们先了解一下“智能”的概念。这里所说的“智能”指人工智能(Artificial Intelligence,AI),这是一种通过普通的计算机程序呈现人类智能的技术。美国麻省理工学院的温斯顿教授把人工智能定义为研究...
5.5 测试平台化 DevOps加速了端到端的交付速度,这推动了持续测试的发展。如果要推行持续测试,那么自动化测试会是必要的技术方案之一,但是自动化测试对测试人员、团队技术成熟度都有着非常高的要求。测试平台化就是解决自动化测试技术门槛和...
5.4 精准测试 前面已经介绍了黑盒测试和白盒测试。从前面的介绍中可以知道,黑盒测试是一种面向业务流程的测试,针对需求设计测试用例,在运行的系统上执行测试用例,完成测试。整个测试过程中测试工程师对于测试代码是如何运行的一无所知,只...
5.3 测试代码生成 测试代码的开发速度跟不上制品检测需求增加的速度的问题日益明显,因此测试工程师开始全力解决该问题,不断地探索测试脚本生产方法就是其中一个方法。 5.3.1 基于二进制文件的测试代码生成 在接口测试过程中,绝...
5.2 流量录制技术 流量录制技术近年来被越来越多地提及。前面章节介绍测试右移时,提到过测试右移的一种测试方式就是全链路压测,而全链路压测的一个关键技术点就是流量录制技术。流量录制技术和录制回放是相互依存的关系,录制回放是为了解决...
第5章 测试技术和持续测试 持续测试能够推动快速反馈,从而避免测试工程师提出一个缺陷,开发工程师就要翻出几周前开发的代码,重新整理思路再修复对应的缺陷。此外,每次完成测试后,系统的干系人希望能够确认测试是一个充分并且合适的测试,...
3.4 混沌工程和故障演练 混沌工程是近年来新出现的概念,主要用于稳定性方面的研究,英文全称为chaos engineering,由网飞公司最先提出。因为最开始混沌工程称作chaos monkey,形容就像有一只猴子在系统中捣乱一样,以至于到现在每次提到混沌...
3.3 兼容性测试矩阵 兼容性测试主要对被测系统运行所依赖的各种软硬件进行组合,然后进行主流程或者约定检测流程的功能走查。兼容性测试的重点在测试设计阶段,兼容性测试设计的主要工作是首先统计兼容性测试因素,然后设计兼容矩阵,最后按照...
3.2 全链路压测 相对于全链路压测而言,本书前面介绍的测试应该称作单点单链路性能测试。也就是说,之前讲解的性能测试中,每一个性能测试都是针对某一个业务场景的单链路测试,测试过程的所有并发用户都使用一个业务流入口,而全链路压测会涉...
3.1.5 性能测试实践方案 当测试工程师接到一个系统需要性能测试的需求时,一般情况下需求描述只有一句话,很少会有具体可供利用的信息,如系统要承载的并发用户数、系统支持的TPS等。而要开始性能测试,需要的输入却远远多于这些信息。在开始...
3.1.4 监控工具和结果分享分析 质量特性中性能效率是性能测试的主要保障特性之一,在性能效率特性下的子特性包含时间特性、资源利用特性等。用性能测试可以验证并发性。怎么验证时间特性、资源利用特性等质量特性呢?性能测试需要以一整套测试...
部分选项的作用如下。 --master用于以主服务模式启动Locust。 --master-bind-host用于为主服务指定IP地址(可选,默认为127.0.0.1)。 --master-bind-port用于为主服务设置固定的端口(可选,默认为端口5557)。Locust在启动后会使用两个端口...
在性能测试过程中,运行界面的顶部除显示Locust的Logo之外,还显示被测系统的根地址、虚拟用户的运行状态、RPS(每秒请求数)和实时的失败率。右上角的两个按钮分别用于停止测试和重置统计数据,如图3-7所示。图3-7 运行界面中右上角的两个按钮 ...
3.1.3 使用Locust完成性能测试 上面讲了这么多Locust的优点,那么如何开始使用Locust呢?首先要保证个人计算机上已安装3.x系列的某个Python版本并且已经配置好,然后通过代码清单3-2所示的命令安装Locust。代码清单3-2 Locust提供了很多开...
3.1.2 Locust和LoadRunner LoadRunner是性能测试领域的标志性工具。LoadRunner以模拟上千万用户实施并发负载并进行实时性能监测的方式确认和查找问题,因而能够对整个软件架构进行测试。LoadRunner还能最大限度地缩短测试时间、优化性能并缩短...
第3章 持续测试中的非功能测试 持续测试是一种测试实践,它包含了涉及全部质量特性的测试活动。因此,持续测试也包含非功能测试。众所周知,软件质量特性包含功能性、可靠性、可用性、效率等,前面已经介绍了一些功能性在持续测试中的落地方法...
2.7 测试驱动开发 测试技术已经进入了一个快速发展的时期,各种理论、方法和实践结果层出不穷,这只能说明这个行业正处在高速发展期,在长期的探索中拥有大量的工程实践。测试驱动开发(Test Driven Development,TDD)在DevOps的推动之下也有...
2.6.2 接口自动化测试的价值 从金字塔模型到橄榄球模型的转变就是为了弥补单元测试的不足,随着测试工程师不断地加大在接口自动化测试上的投入,接口自动化测试逐渐划分成单接口测试和业务场景测试。 单接口测试不断地扩大检测范围,既保证...
2.6 接口测试和接口自动化测试 接口测试不像UI自动化测试那样具有一些代表性的测试开发框架,当提到接口测试时,我们首先想到的应该是一些测试工具,如Postman、Fiddler、Charles等。 2.6.1 接口测试 要弄清楚利用接口测试工具完...
2.5 UI自动化新思路 UI自动化测试在很多时候既是测试工程师的技术门槛,又是测试工程实践的“鸡肋”,为什么这么说呢? 首先,现在各大互联网公司对测试工程师的要求都包含UI自动化测试的内容,无论是Web UI自动化测试还是App UI自动化测试...