软件测试用例自动生成技术(一)

本文探讨了软件测试中的一个重要技术——符号执行,及其在测试用例自动生成中的作用。符号执行通过分析程序路径约束来生成测试输入,但面临路径爆炸、路径发散和复杂约束等挑战。文章介绍了符号执行的基本概念、测试案例和存在的问题。
摘要由CSDN通过智能技术生成

软件测试这一环节在软件开发周期中不可或缺。然而软件测试却花费软件开发超过一半的成本。因此利用软件测试用例自动生成技术来降低软件开发成本并提高软件开发效率就变得至关重要。目前软件测试用例自动生成技术可大体分为五类:
1. 符号执行及程序结构覆盖测试(symbolic execution and program structural coverage testing)
2. 基于模型的测试用例生成技术(model-based test case generation)
3. 混合型测试(combinatorial testing)
4. 自适应型随机测试–随机测试的一个变种(adaptive random testing as a variant of random testing)
5. 基于搜索的测试(search-based testing)
本博文分多博客逐次介绍这些技术。

1. 符号执行(Symbolic Execution)

符号执行是一种程序分析技术。其可以通过分析程序来得到特定代码域执行的输入。使用符号执行分析一个程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束(PC:Path Constraint),然后通过约束求解器来得到触发目标代码的具体值。
From: https://zh.wikipedia.org/wiki/%E7%AC%A6%E5%8F%B7%E6%89%A7%E8%A1%8C

1.1 测试案例

Test Case</

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值