写点什么

.NET 自动探索式测试工具——Pex

  • 2008-07-20
  • 本文字数:642 字

    阅读完需:约 2 分钟

Pex 是微软研究院的一个白盒测试生成工具。不像我们平时在给定的方法中为每个执行路径手写独立测试,Pex 允许开发人员编写单独的参数化测试方法。这样 Pex 就能生成一套标准的单元测试,在目标方法里测试执行路径。Pex 一个指令一个指令地分析.NET 代码,解释代码执行时的动作,然后“以一种完全自动的方式,计算出那些能触发边角代码的相关测试输入。”

给定一个手写的参数化单元测试,Pex 完全自动地分析代码,来决定相关的测试输入。其结果就是生成一个有着高度代码覆盖的传统单元测试,另外,Pex 还会建议程序员如何去修复所发现的 Bug。

Pex 实际上并没有减少开发人员多少工作量,他们依然需要手写那些定义和覆盖了方法基本行为的单元测试,来确保 API 和函数符合必要用例和用户故事的需求。但是,Pex 可被用作一个附加的方法来确保

测试充分地覆盖这些实现的代码。在方法中识别不确定的行为和错误时,这个自动探索式测试工具尤其有用。

和其他大多数生成工具一样,Pex 在确定的环境下使用效果很好。单元测试驱动(TDD)的设计原则是保持方法简短和可测试,这个原则也让 Pex 生成的测试更为可读。在实现符合 TDD 的设计目标时,Pex 也是很不错的工具,比如如果 Pex 为某方法生成了许多复杂的测试,那么这个方法很有可能需要重构。在方法是以基础类型做参数,而不是自定义的对象时,Pex 的效果也不错。

需要提醒的是,Pex 目前还只是微软研究院的一个试验项目,不会像微软正式产品一样获得支持。不建议将 Pex 作为写单元测试的首要选择,但是它的自动测试生成能有效覆盖边缘的用例。

2008-07-20 21:021650

评论

发布
暂无评论
发现更多内容

软件测试学习笔记丨数据库进阶及redis数据库

测试人

软件测试

八爪鱼数据采集在国央企的主要应用场景:产业态势分析

八爪鱼采集器︱RPA机器人

爬虫 采集

在2024 VDC,听一曲“蓝心智能”的江河协奏

脑极体

AI

人工智能加速打破“设备壁垒”,系统安全护航“数字中国”

Geek_2d6073

新增六大功能解析!eBPF 技术实践白皮书第二版正式发布(附下载链接)

OpenAnolis小助手

操作系统 ebpf 云栖大会 龙蜥社区 eBPF 技术

DApps使用量激增70%:第三季度再创新高,未来趋势与开发策略解析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

打通前后端流程,案例解读华为云开源低代码引擎解决方案

快乐非自愿限量之名

云原生 前端 华为云

CAS存在的问题及在Java中的解决方式

不在线第一只蜗牛

Java Python

八爪鱼在融媒体中的应用

八爪鱼采集器︱RPA机器人

爬虫 采集

全闪 SDS 一体机提供 FC 能力承载医院核心业务

XSKY星辰天合

对象存储 软件定义存储

软硬协同方案破解IT瓶颈,龙蜥衍生版KOS助力内蒙古大学成功迁移10+业务软件 | 龙蜥案例

OpenAnolis小助手

龙蜥社区 龙蜥案例

软件测试学习笔记丨Neo4j数据库

测试人

软件测试

房地产从业者必备的100+数据源盘点!

八爪鱼采集器︱RPA机器人

爬虫 采集

与chatGPT对话 | 如何用八爪鱼采集招投标数据进行竞争情报分析

八爪鱼采集器︱RPA机器人

爬虫 采集

Abaqus可以做流体仿真吗?流固耦合项目介绍

思茂信息

abaqus 有限元技术 流固耦合

高性能存储 SIG 月度动态:优化 fuse 提升 AI 存储接入能力,erofs 工具发布新版本

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥社区SIG

云+AI时代下,Alibaba Cloud Linux 如何进一步演进?

OpenAnolis小助手

开源 AI 操作系统 Alibaba Cloud Linux 阿里云服务器操作系统

云MES适用于哪些行业?

万界星空科技

制造业 mes 云 原生云 CTO 云mes 万界星空科技mes

包材推荐中的算法应用|得物技术

得物技术

算法

6款支持C#语言的AI辅助编程工具,开发效率提升利器!

EquatorCoco

C# AI

如何用八爪鱼采集线下零售消费评价数据并指导商业地产运营

八爪鱼采集器︱RPA机器人

爬虫 采集

金融从业人员获取公开数据必备的126个网址

八爪鱼采集器︱RPA机器人

爬虫 采集

如何在实际开发中深入使用 yalantinglibs 编译期反射库

OpenAnolis小助手

c++ 编译期 yaLanTingLibs

提高ROI:低代码平台如何助力企业实现成本效益最大化

天津汇柏科技有限公司

低代码 ROI

软件测试学习笔记丨MongoDB

测试人

软件测试

深度解析淘宝商品详情API返回值的业务价值

技术冰糖葫芦

API 接口 API 文档 API 测试 pinduoduo API API 性能测试

3分钟理清QPS、TPS、RT 以及它们之间的关系

江南一点雨

中国市场的NFT生存法则:消费属性与圈子文化

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

cad2023: AutoCAD 2023 (Win&Mac) 中文特别版

你的猪会飞吗

AutoCAD 2023 CAD 2023破解 CAD 2023下载

第三位中国成员!CloudberryDB 核心开发者张明礼入选 PostgreSQL Contributor 名单

酷克数据HashData

.NET自动探索式测试工具——Pex_.NET_Al Tenhundfeld_InfoQ精选文章