软件测试有效等价类练习题_有效测试

本文探讨了单元测试、功能测试、回归测试等不同类型的测试,强调自动化测试和良好测试文化的必要性。作者分享了在Java环境中的测试经验,讨论了过度监控、编写测试用例的挑战以及领域驱动设计在测试中的作用。文章还反思了DHH关于TDD的观点,指出正确设计系统以利于测试的重要性。
摘要由CSDN通过智能技术生成

软件测试有效等价类练习题

最近,DHH 发起了有关TDD的激烈辩论,当时他声称TDD已死
这场持续不断的辩论成功吸引了包括我们在内的开发人员世界的关注。

在我们的办公室里发生了一些关于进行测试的正确做法的小型辩论。

在本文中,我将发表自己的看法。

您看到了多少种测试?

从我加入行业开始,我就从事以下测试:

  • 单元测试
  • 系统/集成/功能测试
  • 回归测试
  • 测试线束/负载测试
  • 烟雾测试/蜘蛛测试

以上测试类别不一定是互斥的。 例如,您可以创建一组自动化功能测试或冒烟测试以用作回归测试。 为了让新手受益,让我们快速回顾一下这些旧概念。

单元测试

单元测试旨在测试代码/组件单元的功能。 对于Java世界,代码单元是类,每个Java类都应该具有单元测试。 单元测试的原理很简单。 当所有组件都正常工作时,整个系统应该正常工作。

组件很少单独工作。 而是,它通常与其他组件交互。 因此,为了编写单元测试,开发人员需要模拟其他组件。 这是DHH和James O Coplien批评Unit Test的问题,付出了巨大的努力却收效甚微。

系统/集成/功能测试

没有具体的命名,因为人们经常使用不同的术语来描述相似的事物。 与单元测试相反,对于功能测试,开发人员旨在测试整个系统功能,其中可能涉及多个组件。

通常,对于功能测试,将检索数据并将其存储到测试数据库。 当然,应该在运行之前预先设置好测试数据。 DHH喜欢这种测试。 它可以帮助开发人员测试系统的所有功能,而无需花费大量精力来设置模拟对象。

功能测试可能涉及声明Web输出。 过去,大多数情况是使用htmlUnit完成的,但是随着Selenium Grid的最新改进,Selenium成为了首选。

回归测试

在这个行业中,与开发新系统相比,您可能最终会花费更多的时间维护系统。 软件一直在变化,并且每当进行更改时都很难避免风险。 回归测试应该捕获由更改引起的任何缺陷。

过去,一家软件公司确实有一支测试人员大军,但是当前的趋势是自动化测试。 这意味着开发人员将交付带有全套测试的软件,这些测试应该在功能受损时被破坏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值