Jtest提供了一组代码标准规则旨在确定那些可以导致内存问题的编码模式。此外,Jtest可以在它执行测试用例的过程检测内存泄露。为了达到这个目的,它在测试执行的过程中监控对象的分配事件和对象释放事件。如果一个对象被分配内存空间,但是在测试结束时,垃圾回收器没有释放该对象的内存空间,则该对象被认为是泄露的。每一个测试被执行三次,来确保泄露的内存不是为了初始胡或者缓存。如果Jtest确定泄露已经发生,它报告在三次测试之间最小的泄露和定位到发生内存泄露的行。
执行步骤
- 复查Jtest的Statci Analysis> Find Memory Problems Test Configuration中可用的规则,决定哪些是你想要检查的,并根据需要定制他们。想要学习Jtest里包含的代码标准规则,选择Jtest> Help,打开“Jtest Static Analysis Rules”这本书,然后浏览可用的规则描述文件。
- 如果你使用RulesWizard(规则向导)创建或定制任何规则,添加相关的规则文件到团队配置管理器。
- 创建一个团队测试配置,用来配置你首选内存相关的规则,以及生成测试用和执行测试用和使内存泄露检测可用。
- 确保所有安装Jtest的团队成员可以访问团队Test Configuration(测试配置)。
- 配置Jtest,以便应用特定的Test Configuration(测试配置)来测试新的和修改过的基于一定时间(每晚)的团队内代码。
惯用方法
- 每一次你完成或修改一段代码,应用特定的Test Configuration(测试配置)来测试你的代码。
- 复查静态分析违例和BugDetective的发现,然后更正错误并在下次代码复查的时候和团队成员讨论潜在的规则异常(禁止候选,suppression candidates)。
- 复查测试覆盖范围和自动生成的测试用例。
- 如果生成的测试用例没有达到令人满意的覆盖面或者不像你希望的那样切合实际和有意义(例如,因为更切实际的对象,更切实际的桩,或者应该使用特定的初始化顺序),使用“Improving Test Coverage”,官方文档中中介绍的合适技术来引导Jtest生成测试用,然后重新测试。为了确保生成新的测试用例,使Generate tests code with up-to-date test classes可用和使Only generate test cases that will increase line|branch coverage不可用,然后运行一个Test Configuration(例如强迫再生成单元测试)。
- 复查和对报告的内存泄露作出响应。
- 添加代码到源码控制器中。
- 每天定时导入你的任务或者你推荐的任务(每晚对工程范围内你授权的代码测试鉴别时发现的错误)到安装Jtest的桌面上。然后更正问题。并在下次代码复查的时候和团队成员讨论潜在的规则异常(禁止候选,suppression candidates)。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
-
文档获取方式:
-
加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取