Advertisement

关于生成数字集合0-9的测试框架——防御性编程超进化

阅读量:

前言

高级防御性编程实践


目的和目标

可能很多人都曾经历过这种情况:希望用户提供的是一个简单的数值输入(如整数或浮点数),然而不幸的是他们提供了非数字字符或其他特殊符号(如英文字符或标点符号),这最终导致了程序崩溃的发生。这个人可能是你自己也可能是其他测试用例的参与者亦或者是教育机构的一位教师等。
作为一名开发者,在介绍防御性编程的理念时我想分享几点个人体会和个人心得。下面将展示一段逐步优化的过程:从最初版本开始经过不断改进最终实现了能够稳定准确地捕获用户的0至9之间的数值输入并确保了程序运行的安全性。


最近在学习软件构造技术的过程中,掌握了许多防御性编程的思想,并将其应用于数据结构课程的设计过程中,并在此处进行了详细记录。

在C语言程序中经常通过用户的整数值来指定功能模块的功能调用;然而由于用户的输入选项众多,在实际应用中可能会出现一些意外情况;为此我建议您不要让用户随意地将一段字符串作为命令参数传递进来;为了避免这种情况的发生 在开发过程中我会采取以下措施:首先 在函数入口处增加参数有效性检查;其次 在返回结果时确保返回码正确无误;最后 在关键路径上设置详细的错误日志记录


程序

测试数据有:{1, 2, 3, 4, 。, 3a, a3, 0} (共八个测试数据)。


第一次尝

全部评论 (0)

还没有任何评论哟~