功能测试和集成测试是否相同?
您从单元测试开始测试,然后完成单元测试,然后进行集成测试,在此测试整个系统。功能测试与集成测试一样吗?您仍然需要将系统作为一个整体,并对其功能一致性进行测试。
功能测试和集成测试是否相同?
您从单元测试开始测试,然后完成单元测试,然后进行集成测试,在此测试整个系统。功能测试与集成测试一样吗?您仍然需要将系统作为一个整体,并对其功能一致性进行测试。
Answers:
集成测试是指您测试多个组件以及它们如何协同工作。例如,另一个系统如何与您的系统交互,或者数据库如何与您的数据抽象层交互。通常,这需要一个完全安装的系统,尽管不是最纯粹的形式。
功能测试是根据产品的功能要求测试系统的时间。产品/项目管理通常会编写这些内容,并且质量检查会正式确定用户应看到和体验的过程以及这些过程的最终结果。根据产品的不同,这可以自动化还是不自动化。
功能测试:
是的,我们正在测试产品或软件的整体功能是否正常(测试按钮,链接等)
例如:登录页面。
您提供用户名和密码,然后测试是否将您带到主页。
集成测试:
是的,您只测试集成软件,但是您测试数据流发生的位置以及数据库中是否发生了任何更改。
例如:发送电子邮件
您向某人发送一封邮件,这有一个数据流,并且数据库中也有更改(发送的表将值增加1)
请记住-单击链接和图像不是集成测试。希望您能理解原因,因为只需单击链接即可在数据库中进行更改。
希望这对您有所帮助。
这是一个重要的区别,但是不幸的是您永远无法达成共识。问题在于,大多数开发人员都是从自己的角度定义它们的。这与关于冥王星的辩论非常相似。(如果离太阳更近,那会是行星吗?)
单元测试很容易定义。它测试CUT(被测代码),仅此而已。(那么,尽可能少的其他。)这意味着模拟,假货和固定装置。
另一方面,许多人称之为系统集成测试。那是在尽可能多地测试,但仍在您自己的CUT中寻找错误。
但是,两者之间的广度如何呢?
time()
或rand()
呢?或者,如果您致电,该http://google.com
怎么办?我会称其为系统测试,但我还是一个人。为什么这么重要?因为系统测试不可靠。它们是必需的,但有时会因您无法控制的原因而失败。另一方面,功能测试应始终通过,而不是随机失败。如果速度很快,那么不妨从一开始就使用它们,以便使用测试驱动开发,而无需为内部实现编写过多的测试。换句话说,我认为单元测试可能比他们值得的麻烦多,而且我有很好的陪伴。
我在3个轴上进行了测试,并在单元测试中将所有零均置为:
一个测试可以很容易地在不同程度上进行全部3个测试。
我要说的是,两者是紧密相连的,很难区分它们。在我看来,集成测试是功能测试的子集。
功能测试基于您收到的初始要求。您将测试应用程序行为是否符合要求。
当涉及集成测试时,它是模块之间的交互。如果A模块发送输入,则B模块能够处理该输入。
集成测试-集成测试不过是对不同模块的测试。您必须测试模块之间的关系。例如,您打开facebook,然后在输入登录ID和密码后看到登录页面,您可以看到facebook的主页,因此登录页面是一个模块,主页是另一个模块。您只需要检查它们之间的关系就意味着您登录后只能打开主页,不能打开消息框或其他任何内容。集成测试有2种主要类型,即TOP-DOWN方法和BOTTOM UP方法。
功能测试-在功能测试中,您只需要考虑输入和输出。在这种情况下,您必须像实际用户一样思考。测试您提供的输入和输出是功能测试。您只需要观察输出即可。在功能测试中,您不需要测试应用程序或软件的编码。
集成测试:-完成单元测试并解决相关组件的问题后,所有必需的组件都需要集成在一个系统下,以便它可以执行操作。组合系统的各个组件后,为了测试系统是否正常运行,这种测试称为集成测试。
功能测试:-测试主要分为两类:1.功能测试2.非功能测试**功能测试:-测试软件是否根据用户要求运行。**非功能测试:-测试软件是否满足压力测试,安全测试等质量标准。
通常,客户将仅提供功能测试的需求,而非功能测试的需求则不需提及,但应用程序必须执行这些活动。
检查应用程序的功能通常称为功能测试,其中集成测试是检查从一个模块到另一个模块的数据流。让我们以汇款应用程序为例,假设我们有一个页面,在其中输入所有凭据,如果我们按转账按钮,然后如果我们获得任何成功,那么这就是功能测试。但是在同一示例中,如果我们验证转账金额,则它是集成测试。
作者对此有很多分歧。我不相信对此有正确的解释。真的要看
例如:大多数Rails开发人员将单元测试视为模型测试,将功能测试视为控制器测试和集成测试,就像使用Capybara这样的工具从最终用户的角度来探索应用程序-也就是说,使用DOM浏览页面生成的HTML检查期望。
还有验收测试,这些测试反过来又是系统的“实时”文档(通常,他们使用Gherkin使其能够用自然语言编写),通过多个场景描述了应用程序的所有功能,而这些场景又是自动化的由开发人员。恕我直言,这些也可以视为功能测试和集成测试。
一旦理解了每个概念背后的关键概念,就可以对对错变得更加灵活。因此,恕我直言,功能测试也可以视为集成测试。对于集成测试,根据它所执行的集成类型,它可能不考虑功能测试-但是编写集成测试时通常会考虑一些要求,因此在大多数情况下,也可以考虑将其视为功能测试。