功能测试与非功能测试

功能测试包含哪些测试?

什么是功能测试服务?

软件测试中的功能测试是将软件系统的实际输出与预期行为进行了对比。功能测试提供的有关系统的整体情况要比单独测试单个模块更为清晰。系统频繁出现错误的地方正是模块之间交互的领域。功能测试包括测试底层代码的部分。

功能测试的类型:
  • 单元测试(又被称为非功能测试)
  • 集成测试
  • 用户验收测试
  • 封闭测试

功能测试基本测试方法  

  1. 单元测试
    • 单元测试的特点:API应用程序下的单元测试可能会对部署在测试环境中的系统发出请求,并将请求响应与文档规范进行对比。不过单元测试也有自身的局限性。当应用程序在功能方面出现偏差或回归时,通常只有在应用程序内执行的功能测试会检测到这些变化,而单元测试则检测不到。
  2. 集成测试
    • 集成测试的目的:集成测试验证了软件模块是如何协同工作的。当开发人员将代码编写为松散耦合的模块时(通常应该是这样),组件则依赖于显现契约来进行交互。集成测试验证了软件的每一部分是否履行合同约定,并在这些交互引入回归时生成警告。  
  3. 用户验收测试
    • 用户验收测试的主要目的:软件测试中的用户验收测试:在软件测试的用户接收阶段,开发人员会为终端用户或其代表提供应用程序的部分或全部,来展示其在真实世界的交互和功能运转。
  4. 封闭式测试
    • 封闭测试是什么?功能测试还包括对整个应用程序的封闭测试。封闭式测试是在不检查系统内部运行的情况下全面地处理应用程序的输出请求。许多测试工程师在编写功能测试方案时都倾向于使用封闭测试来完善软件测试非功能测试部分。在封闭测试中,与软件系统最外层交互的代码会被执行自动化测试,而且工程师也只评估代码输出。封闭式测试流程对于只需要执行API测试的应用程序来说简单易行,因为代码只需进行API调用和做结果评估。
    • 软件封闭测试:当封闭式测试用于有用户界面的应用程序时,软件测试流程就会变得越来越复杂。解决这个难题的一种方法是使用像Selenium这样先进的测试工具。这种测试工具允许代码与应用程序交互,正如用户与web浏览器之间的交互一样。Selenium及其类似的工具在将用户验收测试自动化的同时也提高了测试的可靠性。

非功能性测试有哪些

什么是非功能性测试?

软件测试之非功能性测试用于评估相对功能而言不太重要但有利于提高终端用户体验的应用程序属性。欠载状态下的性能和可靠性虽不是软件系统的组成部分,但无疑会影响用户体验的成败。非功能测试中的失败并不总会产生一些能让用户可能会注意到的问题,但它会表明系统存在着问题。  

非功能测试的类型:
  • 性能测试
  • 负载测试
  • 可用性测试
  • 安全测试

非功能测试的测试方法

  1. 性能测试
    • 性能测试的作用:在非功能测试类型中一个必不可少的流程就是性能测试。性能测试确保软件系统能够及时响应请求。糟糕的延迟会破坏用户体验,而一份书写良好的软件性能测试用例往往会在用户察觉之前就发现问题。
  2. 负载测试
    • 什么是负载测试?负载测试也是非功能测试的一种。鲜有系统能在每秒响应一个请求下与每秒响应10000个请求时执行相同的操作。负载测试验证了系统是否能够处理峰值负载,并在缺乏处理工作负载峰值资源的情况下坦然面对失败。
  3. 可用性测试
    • 可用性测试的必要性:可用性测试是用来衡量用户体验的质量。在大多数情况下,产品可用性测试是一个手动执行的过程,但适用范围有限。如果在应用程序本地化过程中缺少了可用性测试,用户界面就会出现混乱且不直观的情况。可用性测试在软件开发过程中还是必不可少的。
  4. 安全性测试
    • 安全性测试的必要性:安全测试也是非功能测试的一种。测试团队应该定期测试他们负责的应用程序,以确保它们的安全性以及能正确地处理数据。安全测试的主要内容包括从自动扫描到定期渗透测试等,具体方法取决于应用程序暴露于潜在威胁的程度。

功能测试和性能测试的区别与联系

功能测试需要确认的是代码有否正常运行,而非功能测试则验证了代码是否按软件规范标准运行。功能测试和非功能测试都包含了可用于验证前端元素和后端元素及其行为的方法。在开发人员可能运行的测试类型分类中,功能与非功能测试间会有一些重叠。

参数功能测试非功能测试
定义功能测试验证应用程序的操作和行为过程。非功能性验证应用程序的性能。
测试基于基于客户的要求基于客户的期望
目标验证软件的功能验证软件系统的性能
必要条件功能测试的执行需参照功能规范要求。非功能测试的执行需参照性能规范要求
功能性描述了产品的功能描述了产品的工作原理
测试方法单元测试
集成测试
健全测试
冒烟测试
回归测试
性能测试
负载测试
压力测试
容量测试
可用性测试

IT英语单词合集

底层代码英文Underlying code
请求响应英文Request response
松散耦合模块Loosely-coupled modules
显现契约Explicit contracts
封闭测试英文Closed-box testing
功能组件英文Functional components
延时的英文Latency
手动执行英语Manual executive
负载英文Load

功能测试介绍

功能测试常用的技术有哪些?

  • 单元测试:单元测试是一种功能测试技术,用于测试应用程序的单个单元或模块。它的职责是确保每个模块都能正常运行。
  • 集成测试:在集成测试中,组合起来的单个单元会被当成一个组来进行测试,这样方便测试工程师在集成单元交互过程中发现并找出故障。
  • 冒烟测试:冒烟测试是一种功能测试技术,该技术用于测试应用程序的基本功能或特性,以确保系统中最重要的功能可以正常运行。
  • 用户验收测试:用户验收测试是由客户进行的,以此来证明系统符合要求并能按预期工作。这是产品发布前软件测试的最后阶段。
  • 接口测试:接口测试是一种软件测试技术,用于检查两个不同软件系统之间能否正确交互。
  • 可用性测试:执行可用性测试是为了估量软件应用程序的易用性和用户友好性。
  • 系统测试:系统测试是在完整的集成系统上执行的一种软件测试方法,用来评估系统是否符合相应的要求。
  • 回归测试:回归测试是为了确保代码更改后不会影响应用程序的现有功能和特性。它的测试重点在于检查所有部件是否工作。
  • 健全测试:健全测试是回归测试的一个子集,它的执行旨在确保插入的修改代码可以按预期工作。
  • 白盒测试:白盒测试是一种软件测试方法,白盒测试法允许测试人员验证软件系统的内部工作。白盒测试包括分析代码、基础结构以及软件与外部系统的集成情况。
  • 黑盒测试:也叫黑匣子测试法,黑匣子测试是一种软件测试方法,它是在不查看软件系统内部工作或结构的情况下测试软件系统功能的。
  • 数据库测试:数据库测试是一种软件测试方法,用于检查被测数据库架构、表等。
  • 特设测试:特设测试也称为猴子测试或随机测试,随机测试是在不遵循任何测试文档或测试计划的情况下而进行的一种软件测试方法。
  • 恢复测试:恢复测试是一种软件测试方法,用于验证软件从硬件故障、软件故障、软件崩溃等故障中恢复的能力。
  • 静态测试:静态测试是一种软件测试方法,它适用于在没有实际执行软件应用程序代码的情况下检查软件中的缺陷。
  • 灰盒测试:灰盒测试是一种软件测试方法,它包括黑盒和白盒测试。
  • 组件测试:组件测试也称为程序测试或模块测试,是在单元测试之后进行的一种软件测试方法。在组件测试中,受测对象可以作为一个组件进行独立测试,不需要与其他组件集成。

IT英语词汇

单元测试英语Unit Testing
集成测试英文Integration Testing
冒烟测试英文Smoke Testing
用户验收测试英语User Acceptance Testing
接口测试英文Interface Testing
可用性测试英文Usability Testing
系统测试System Testing
回归测试英文Regression Testing
健全性测试英文翻译Sanity Testing
白盒测试英文White box Testing
黑盒测试英文Black box Testing
数据库测试英文Database Testing
随机测试英语Adhoc Testing
恢复测试Recovery Testing
静态测试英文Static Testing
灰盒测试英文Greybox Testing
组件测试英文Component Testing

功能测试包括哪些方面内容?

功能测试的范围

  • 功能测试目标有哪些?

功能测试的目标是检查被测应用程序的功能。功能测试的范围:

基本可用性测试:功能测试包括基本可用性测试,来检查用户是否可以无障碍、无困难地浏览屏幕;

主线功能测试:包括测试应用程序的主要特性和功能;

可访问性测试:主要测试了用户对系统的可访问性;

测试错误条件:功能测试包括检查在出现错误条件时软件系统是否显示了恰当的错误消息。


功能测试流程

  • 功能测试的基本流程:

1、定义测试输入:该步骤是要确认需要测试的功能。软件测试输入会因测试可用性功能、主要功能及错误条件而有所不同;

2、计算预期结果:根据功能的规范创建需要输入的数据,并根据这些规范来确定输出结果;

3、执行测试用例:这一步包括执行已设计好的测试用例并记录输出;

4、比较实际输出和预期输出:在该步骤中,我们将执行测试用例后取得的实际输出与预期输出做一个比较,以确定结果中的偏差量。此步骤会显示系统是否按预期工作。


IT英语词汇

可用性英文Usability
可用性测试英文翻译Usability Testing
可访问性英语Accessibility Testing
可访问性测试英文Accessibility Testing

功能测试的概念

功能测试是什么测试?

功能测试是软件测试的一种类型,它是根据功能需求和规格要求对系统进行的测试。功能测试极其注重软件进程处理结果,且侧重于对系统实际使用情况的模拟,它并不开发任何软件体系结构性假设。

  • 功能测试是什么意思?

功能测试基本上被定义为一种验证软件应用程序的每个功能是否符合需求和技术规格的软件测试类型。功能测试与应用程序的源代码无关。


功能测试是怎么测试的? 

功能测试是通过提供适当的测试输入、预期输出以及将实际输出与预期输出进行比较来测试软件应用程序的每个功能的。功能测试的目标有:检查用户界面、APIs 、数据库、安全性、客户端或服务器应用程序以及受测应用程序的功能。功能测试可以是手动的,也可以是自动的。

  • 功能测试的目的是什么?  

功能测试主要涉及到黑盒测试,它可以是手动也可以运用自动化技术来执行。功能测试的目的是:

  • 测试应用程序的每个功能:功能测试通过提供适当的输入并按照应用程序的功能需求来验证输出,顾名思义它测试的就是应用程序的每个功能。
  • 测试主要的输入功能:在功能测试中,测试人员测试应用程序的每个输入功能,目的是检查所有进入点和退出点是否按需工作。
  • GUI屏幕的测试流程:在功能测试中,需要检查GUI屏幕的流程,这是为了方便用户在整个应用程序中轻松的使用网站的导航系统。

IT 英文词汇

功能测试英文翻译Functional testing
API接口Application Programming Interface/应用程序界面接口
GUI英文全称Graphical user interface/图形用户界面

什么是边界测试?

功能测试主要做什么?

功能测试是软件测试的一种,在功能测试下软件的系统需要按照系统的功能需求来测试。

功能测试的目的是什么?

功能测试的执行是为了确保所有的要求都能被应用程序正确地满足。功能测试验证了软件应用程序的每个功能是否达到了要求和规范。而边界值分析(BVA- Boundary Value Analysis)就是功能测试的一种。


边界测试方法-边界值分析

边界值分析是基于对边界值有效分区和无效分区的测试。软件的性能在等价分区边缘比在分区内更有可能出错,因此边界是软件测试可能产生缺陷的区域。

边界值是什么意思?边界测试方法会检查边界附近错误几率较高的输入值。每个分区都有它的最大值和最小值,这些最大值和最小值是分区的边界值。

边界值测试用例
  • 有效分区的边界值就是有效的边界值。
  • 无效分区的边界值是无效的边界值。
  • 我们检查的每个变量-
    • 最小值
    • 刚好高于最小值
    • 标准值
    • 刚好低于最大值
    • 最大值
边界值测试用例举例:以一个可接受18至56岁年龄段的系统为例
无效值 (最小值-1)有效值 (min, min + 1, nominal, max – 1, max)无效值 (最大值 + 1)
1718, 19, 37, 55, 5657

IT 英语词汇

功能测试英文Functional testing
边界测试英文Boundary testing
边界值分析   Boundary Value Analysis
单一的故障假设Single Fault Assumption
等价分区英文翻译Equivalence Partition