导入
什么是属性?
了解属性测试及其应用方法。
示例测试的缺点
| 问题 | 描述 |
|---|---|
| 缺乏测试数据 | 为测试用例生成实际数据需要确定被测组件不同字段或参数的合理取值。当输入值的可能范围较大时,这一任务会变得更加复杂。 |
| 对代码的信任度 | 仅依赖手动编写的测试输入可能导致对代码的信任不足。很难考虑某个测试的所有可能输入,这增加了遗漏重要情况的风险。人的思维难以覆盖全部输入值域。 |
| 选择性单元测试 | 对某些组件(尤其是逻辑简单的)省略单元测试是可以接受的。如同过多注释一样,过多的测试也可能变得过时且难以维护。设计良好的测试和集成测试可以覆盖部分未进行单元测试的代码。 |
| 全面测试的重要性 | 虽然某些组件可以不进行单元测试,但必须信任已编写的测试。仅仅为每个测试用例提供少数几个输入是不够的。仅测试输入类的一部分会增加遗漏边界情况的风险:例如,在求和方法中忘记考虑整数的最大值。 |
| 用户导向的输入 | 软件工程师无法预见到所有可能的用户输入。无论在设计测试输入时投入多少思考,用户总会发现意想不到的情况。这凸显了采用能够应对多样化输入的全面测试方法的重要性。 |
代码示例
1对于所有 {输入类别} 2满足 {条件} 3则 {性质} 成立
...
模糊测试的简化视图