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