什么是功能测试?这与单元测试和集成测试有何不同?
答案 0 :(得分:15)
另一种思维方式是:
单元测试:
以单位形式测试代码,调用方法并验证返回值和对象属性状态/值
功能测试:
在执行任务时测试代码路径。这可以确保您的应用程序执行代码所说的功能。
整体测试?你的意思是集成测试吗?
集成测试:
通过将代码插入更大的质量来测试代码,以确保您没有破坏现有逻辑,并且您可以集成回主分支。
答案 1 :(得分:5)
功能测试确保客户要求在规范中指定的最终产品中实施。 单元测试是检查代码的一小部分是否按预期运行。 集成测试确保在将所有不同的部件/模块组合在一起时系统稳定。
例如,BigBank Corporation需要一个能够生成客户银行对账单的软件,并且每个月为每位客户插入3个随机费用。
项目经理在与BigBank的代表进行多次讨论后编写软件功能规范。
开发人员编写一个模块,用于填充数据库中的模板语句。他执行单元测试以检查大多数情况是否被覆盖(典型客户,本月没有数据等)
另一位开发人员创建一个随机数生成器模块。他对此进行了单元测试。
集成商采用这两个模块,编译它们并执行集成测试,以确保它们能够很好地协同工作。
最后,为了尝试为BigBank提供测试版,测试团队执行功能测试以验证软件是否符合功能规范。
答案 2 :(得分:2)
测试对象的功能测试应侧重于可以直接追溯到功能规范或业务规则的任何测试要求。这些测试的目标是验证正确的数据接受,处理和检索。它测试产品的功能和操作行为,以确保它们符合其规格,并包含忽略系统或组件内部机制的测试,并仅关注响应所选输入和执行条件而生成的输出。此类测试基于典型的黑盒技术,即通过UI(用户界面)与应用程序交互并分析输出(结果)来验证应用程序(及其内部流程)。
答案 3 :(得分:1)
单元测试在单个应用程序层内(演示文稿, 业务逻辑,数据访问等)。
功能测试跨多个应用程序层,以便 测试跨越完整的部分 应用功能。
集成测试将跨多个应用程序进行测试 组件甚至应用程序。
答案 4 :(得分:1)
单元测试: 尽可能测试最小的代码单元,通常是一个函数或方法。通过使用模拟等,理想情况下应该非常快,不会以任何方式击中硬盘或网络。
功能测试: 测试一组协同工作的函数/方法。理想情况下,这也不应该转到磁盘或网络,但通常会。
集成测试: 测试在现实世界中运行,转到真实(尽管测试)数据库,写入磁盘等。您正在测试您的程序是否与其他服务正常工作,它正确地与它们“集成”。你经常会有一个单独的程序(例如Selenium)来运行测试,就像真正的用户一样。
此外: 白盒测试: 知道程序如何工作的内部测试。单元测试和功能测试通常是白盒子。一个例子是调用一个函数来保存一个值,然后检查数据库中的值是否正确。
黑匣子测试: 测试不了解内部并将程序/功能/方法视为“黑匣子”。一个例子是调用一个函数来保存一个值并调用另一个(公共)函数来获取该值。
答案 5 :(得分:1)
如今,功能测试通常被称为端到端测试或系统测试,如果你看一下V模型。
单元测试显然测试了可能的最小代码单元,集成测试检查您的单元是否与系统的其他部分很好地集成。
答案 6 :(得分:0)
术语“功能测试”通常用于测试整个系统,例如,从浏览器到数据库层的Web应用程序。虽然我自己滥用这个术语,但我认为“系统测试”或“端到端测试”这两个术语对它的描述要好得多。
“功能测试”的另一个含义可能只是“测试功能”,对于单元测试或集成测试通常也是如此。但是有些测试不是功能测试。几乎所有关于非功能性需求的内容都属于该类别,例如负载测试或分析。
我认为最初的区别可能是“功能系统测试”和“非功能系统测试”,现在“功能测试”通常用于区分端到端测试和测试子系统/单元。
答案 7 :(得分:0)
首先,我们应该了解什么是'功能'关于软件?
可以将功能视为软件要执行的任务/活动。
因此,测试软件的每个功能称为功能测试
进行单元测试,您将隔离代码并测试它的每个单元。
将程序中的方法/函数视为一个单元,您将传递一些参数并期望代码提供所需的输出并测试这些代码单元称为单元测试
单元集合作为软件的功能,这些功能的测试可称为功能测试
请仔细阅读相关链接