你知道测试金字塔吗?
为了用开发实践来扩大测试规模,如何以正确的数量设计合适类型的自动化测试?测试金字塔是一个很好的指南!
测试金字塔是一个很好的视觉隐喻,它描述了不同的测试层,以及每一层要做多少测试。
Parasoft测试金字塔
虽然测试自动化金字塔为高效的测试自动化策略提供了一个蓝图,但你不能把测试质量融入到应用程序中。金字塔需要建立在坚实的基础上,进行深度的代码分析,专注于识别和预防可靠性和安全性问题。Parasoft测试金字塔,如下图所示,展示了Parasoft如何帮助每个级别的测试解决方案。
本文是自动化测试工具Parasoft功能对比之Java测试篇之一,将介绍Parasoft Jtest和同类工具Fortify的功能对比,哪一款更强大一目了然。
如果你想试用Parasoft的强大功能,可以申请完整版试用。
Jtest 启用规则(136条) | Fortify | CWE说明 | 规则分类 | |||
合并CWE、PCI DATA的规则集并添加了部分重要规则 | 严重等级 | 是否有对应规则 | 对应的规则名称 | 是否在CWE中有要求 | ||
BD.CO.ITMOD | 不要在遍历集合时修改它 | 1 | 无 | 无 | 否 | 缺陷预防 |
BD.EXCEPT.NP | 避免空指针 | 1 | 有 | API Abuse-Missing Check against Null Code Quality-Null Dereference Code Quality-Redundant Null Check |
是 | 缺陷预防 |
BD.PB.ARRAY | 避免访问数组越界 | 1 | 无 | 无 | 是 | 缺陷预防 |
BD.PB.ARRAYINP | 避免输入未经验证的数组索引 | 1 | 有 | Code Quality--Code Correctness: Erroneous Negative Value Code Quality--Code Correctness: Erroneous Zero Value |
是 | 缺陷预防 |
BD.PB.CC | 避免总是为相同的值的条件 | 2 | 有 | Code Quality-Dead Code: Expression is Always false Code Quality-Dead Code: Expression is Always true |
是 | 缺陷预防 |
BD.PB.SWITCH | 避免不能到达的分支 | 2 | 无 | 无 | 否 | 缺陷预防 |
BD.PB.ZERO | 避免除零错误 | 1 | 无 | 无 | 是 | 缺陷预防 |
BD.RES.FREE | 不要使用已释放的资源 | 1 | 无 | 无 | 是 | 缺陷预防 |
BD.RES.LEAKS | 确保资源已释放 | 1 | 有 | Code Quality-Unreleased Resource: Streams | 是 | 缺陷预防 |
BD.SECURITY.CUSTOM | 防止安全漏洞(自定义规则) | 1 | 无 | 无 | 否 | 缺陷预防 |
BD.SECURITY.SENS | 防止敏感数据的曝露 | 1 | 有 | Encapsulation-System Information Leak Encapsulation-System Information Leak: Apache Axis Encapsulation-System Information Leak: Apache Axis 2 Encapsulation-System Information Leak: Overly Broad SQL Logging |
是 | 缺陷预防 |
BD.SECURITY.TDCMD | 防止命令注入 | 1 | 有 | Input Validation and Representation-Command Injection | 是 | 缺陷预防 |
BD.SECURITY.TDDIG | 防止 Jakarta Digester 注入 | 1 | 无 | 无 | 是 | 缺陷预防 |
BD.SECURITY.TDENV | 防止环境注入 | 1 | 无 | 无 | 是 | 缺陷预防 |
BD.SECURITY.TDFILES | 防止文件内容注入 | 1 | 无 | 无 | 否 | 缺陷预防 |
BD.SECURITY.TDFNAMES | 防止文件名注入 | 1 | 有 | Input Validation and Representation-Path Manipulation Input Validation and Representation-Often Misused: File Upload Input Validation and Representation-Dangerous File Inclusion |
是 | 缺陷预防 |
BD.SECURITY.TDJXPATH | 防止 JXPath 注入 | 1 | 无 | 无 | 是 | 缺陷预防 |
BD.SECURITY.TDLDAP | 防止 LDAP注入 | 1 | 有 | Input Validation and Representation-LDAP Injection Input Validation and Representation-LDAP Manipulation |
是 | 缺陷预防 |
BD.SECURITY.TDLIB | 防止 Library 注入 | 1 | 有 | Input Validation and Representation-Process Control | 是 | 缺陷预防 |
BD.SECURITY.TDLOG | 防止日志伪造 | 1 | 有 | Input Validation and Representation-Log Forging | 是 | 缺陷预防 |
BD.SECURITY.TDNET | 防止网络资源注入 | 1 | 有 | Input Validation and Representation-Resource Injection | 是 | 缺陷预防 |
BD.SECURITY.TDRESP | 防止HTTP响应拆分 | 1 | 有 | Inpu |