那个网站做效果图电脑配置,濮阳网最新信息,怎么投诉网站制作公司,网页前端开发培训介绍 我喜欢自动化测试。 在一次极少的转移到op-ed 1中#xff0c;我想到了一些想法#xff08;阅读–意见#xff09;。 在开始如何最好地构成您的测试之前#xff0c;我先简单问一下–测试的原因是什么#xff1f; 大致来说#xff0c;我认为它们是#xff1a; 减少… 介绍 我喜欢自动化测试。 在一次极少的转移到op-ed 1中我想到了一些想法阅读–意见。 在开始如何最好地构成您的测试之前我先简单问一下–测试的原因是什么 大致来说我认为它们是 减少错误总数/提高产品稳定性 确保软件按照规范运行 以低成本低影响实现上述目标。 我认为这可以归结为提供可以满足客户需求功能不执行客户不想要的功能错误的软件并且不会造成太大的噪音成本。 选择系统 选择一个入门门槛低人们渴望学习或已经知道的系统 在其中有价值的学习中例如流行的行业标准这些系统将得到更好的文档记录更好的理解更可靠并且您的同事将更容易加入。 我的意思是使用“范式”系统即按原意使用它而不是以异常的“范式”方式使用这将使您的同事生活困难并阻止采用。 您可以测试多个配置其中某些测试仅适用于某些模块和配置吗 它坚固吗 对测试对象的更改是否容易导致识别需要更改的测试 对基础实现的更改不应默默地破坏测试。 避免使用完全动态的语言编译时检查可防止出现印刷错误并确定如果测试主题发生更改可能需要更改的测试。 考虑一下该系统对于开发人员和技术水平较低的人员是否都可以使用–您是否希望测试人员或QA能够编写测试 曾几何时我认为这毫无疑问测试系统是否完全自动化 还是每当您运营公司时都会花您公司的钱吗 写作测试 测试应该快速运行并快速编写 编写测试不应要求耗时的数据库DLL或环境设置而是要使这种性质的东西自动化。 您不需要对定制系统的默契知识没有人愿意沉迷于繁琐的手动设置。 这只是成本。 问问自己–是否只需单击一个按钮即可进行其他人的测试 测试本身无需花费很长时间即可编写。 不要混淆测试的生产代码 不必担心编写最“有效的Java”测试代码或重复使用。 字段不必是“私有最终”。 您无需在测试中强制执行编码标准。 测试行为而不是方法Test使testMethodX无效吗 考虑一个基于BDD的系统。 考虑为接口编写测试然后使用 参数化的运行程序它将为每个实现运行相同的测试集。 测试失败应明确反馈给修复程序 捕获测试的输出以便可以诊断故障。 确保可以将失败的测试与其套件隔离运行以便您专注于修复失败的测试。 测试失败修复错误的代码和重新运行测试之间的平均时间是多长时间 测试支持和测试双打 文档支持代码 如果人们不知道测试双打或夹具也不会重复使用。 对于JUnit请考虑使用Rules为测试提供mixin- esq组件。 首选假货 与存根假人或模拟物相比它们通常更具通用性和可重用性。 与其他类型的双打相比它们将使您对主题有更好的了解。 他们通常可以与实现共享一个代码从而进行测试。 具有通过接口直接控制伪造品的能力例如将组件置于普通API无法激发的错误模式例如网络问题或硬件故障。 伪造第三方 在我的工作中有大量与硬件相关的JNI / JNA代码。 通过仅伪造JNI方法我们可以模拟各种事情包括失败超时。 我通过伪造串行设备伪造javax.comm.SerialPort并用模拟失败或其他错误的伪数据将其预加载来完成了类似的工作。 这将与RESTful API等同样有效。 运行测试 现实点” 最好使用真实的代码而不是使用伪造品在具有代表性的设置上运行测试。 尝试在容器外运行测试以便在尽可能接近生产设置的情况下运行该软件。 如果软件在特定的环境上运行也可以在特定的环境下运行测试即集成测试之前要进行部署及其隐式测试这反过来意味着部署应该是一个按钮。 然后使之可重复 一个人编写的测试可以很容易地被另一个人访问即版本控制。 无需繁琐容易出错的工作即可将测试纳入版本控制和单按钮提交。 它们可以在您的开发机以外的计算机上运行吗 如果不是自动化的话就不会重复。 与构建系统集成 测试应该在开发机器上运行并且CI服务器和QA中的每次运行都将使您对成品更有信心。 它们应该在CI中运行可能没有头并同时执行相同的测试。 他们是否使用相同的硬编码目录 他们在同一端口上监听吗 参考 测试我们JCG伙伴亚历克斯·柯林斯在亚历克斯·柯林斯的博客博客。 翻译自: https://www.javacodegeeks.com/2012/08/tips-for-testing-with-java.html