AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

.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:021766

评论

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

微信朋友圈架构复杂度分析

Geek_nlp小咖

架构 微信朋友圈

架构班模块二作业

21°Char

架构实战营模块二作业

spark99

架构实战营

创业邦聚焦新消费,2021 跨时代消费新发展峰会圆满落幕

创业邦

微信朋友圈复杂度分析

AHUI

架构实战营 「架构实战营」

Thoughtworks 正式成为阿里云云原生核心合作伙伴,携手共创数字新未来!

阿里巴巴云原生

阿里云 云原生 thoughtworks 合作伙伴

为面试加油助力,90个常见的Kubernetes面试题,值得收藏学习

奔着腾讯去

Docker Kubernetes 容器 云原生 Go 语言

Serverless 工程实践|自建 Apache OpenWhisk 平台

阿里巴巴云原生

Apache 阿里云 开源 Serverless 云原生

微信朋友圈的高性能复杂度分析

Puciu

架构实战营

Android TTS语音播报实践

轻口味

android 音视频 TTS 11月日更

IM扫码登录技术专题(四):你真的了解二维码吗?刨根问底、一文掌握!

JackJiang

即时通讯 IM 二维码 扫码

云栖回顾|首届阿里云云原生生态合作伙伴大会:与伙伴能力融合,加速企业数字创新

阿里巴巴云原生

阿里云 云原生 生态 交流 合作伙伴

OpenVINO+TF2环境搭建

IT蜗壳-Tango

11月日更

Python代码阅读(第49篇):限制一个数在指定范围内

Felix

Python 编程 Code Programing 阅读代码

阿里云消息队列 RocketMQ 5.0 全新升级:消息、事件、流融合处理平台

阿里巴巴云原生

阿里云 产品 RocketMQ 云原生

Java 中 List 分片的 5 种方法!

王磊

Java List

亿滋中国X阿里云,释放新零售的数字化力量

阿里云大数据AI技术

大数据 零售

降本增效利器之 Serverless

中原银行

Serverless 云原生 函数计算 中原银行

宣布Contour v1.13.0!!!

远鹏

golang Kubernetes cncf contour ingress-controller

#每个人的掌上图书馆# 藏书馆App基于Rainbond实现云原生DevOps的实践

北京好雨科技有限公司

容器 DevOps 云原生 k8s最佳实践 Kubernetes从入门到精通

架构设计第二周学习总结

周文

架构实战营 「架构实战营」

【LeetCode】分糖果Java 题解

Albert

算法 LeetCode 11月日更

eSOL和RTI合作支持汽车和工业自动化市场快速开发

薛斐

自动驾驶

模块二作业

panxiaochun

架构实战营

架构实战营-模块2-作业

lucian

架构实战营

电商秒杀系统设计

张文龙

#架构实战营

模块二作业

周文

架构实战营 「架构实战营」

实时语音如何过质量关?

声网

深度学习 算法 音视频

《黑客之到》- 全网最详细的kali系统安装教程

学神来啦

网络安全 渗透 kali kali基础

架构实战 - 模块二

唐敏

架构实战营

元宇宙的三个阶段

石云升

元宇宙 11月日更 10月月更

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