写点什么

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

评论

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

打破束缚,重塑软件定制开发效率与质量

SoFlu软件机器人

构建坚固网络,SD-WAN网络配置指南

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

Google推广之关键字匹配类型

九凌网络

自助式可视化开发,ETLCloud的集成之路

RestCloud

可视化 ETL

Milvus 上新:支持上万个 Collection、新增 Accesslog 功能……

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

SD-WAN企业组网场景深度解析

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

Spring Boot 单体应用升级 Spring Cloud 微服务

阿里巴巴云原生

阿里云 云原生 Spring Cloud

2024年了,为什么我还是舍弃不掉 RSS?

伤感汤姆布利柏

图像处理锐化-Java-Prewitt算子叠加

alexgaoyh

图像处理 锐化 prewitt算子 噪点 叠加

左耳听风 - 编程的本质「读书打卡 day 10」

Java 工程师蔡姬

读书笔记 程序员 个人成长 编程的本质 职业发展

给科研人的 ML 开源发布工具包

EquatorCoco

开源 ML 工具包 安装包

0.o?让我看看怎么个事儿之SpringBoot自动配置

不在线第一只蜗牛

spring 后端 springboot 后端开发

Databend x HuggingFace,海量数据,随心分析

Databend

腾讯云ES RAG最佳实践:向量+文本混合搜索的相关性调优

腾讯云大数据

ES

【干货分享】常用的Python开发工具比较

快乐非自愿限量之名

Python 开发 开发语言

跨境电商的税收政策:卖家需关注的合规问题

技术冰糖葫芦

AI智能大模型与低代码:现代应用开发的潮流趋势

EquatorCoco

人工智能 低代码 AI模型 智能模型

云原生微服务:现代化应用开发的支柱

不在线第一只蜗牛

微服务 云原生 架构开发

语音数据集在智能语音助手中的应用与挑战

来自四九城儿

使用函数计算,数禾如何实现高效的数据处理?

阿里巴巴云原生

阿里云 Serverless 云原生

如何正确利用Google开辟海外市场

九凌网络

数字生态系统的演进与企业API管理的关键之路

幂简集成

API API 管理 API Hub

智能语音助手在医疗行业的应用与挑战

来自四九城儿

聚道云如何助力企业破解审批困境,开启高效工作?

聚道云软件连接器

案例分享

FeatInsight: 基于 OpenMLDB 的特征平台助力高效的特征管理和编排

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

阿里云云原生弹性方案:用弹性解决集群资源利用率难题

阿里巴巴云原生

阿里云 云原生 弹性

海外项目管理工具 Jira 宣布Data Center版涨价5%-15%,6年内第8次提价

爱吃小舅的鱼

Atlassian Jira

文心一言 VS 讯飞星火 VS chatgpt (181)-- 算法导论13.4 4题

福大大架构师每日一题

福大大架构师每日一题

可视化大屏是什么?大屏数据可视化设计指南

2D3D前端可视化开发

数据可视化 大屏可视化 可视化大屏 可视化设计

SD-WAN组网设计原则:灵活、安全、高效

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

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