软件测试的分类与流程_第1页
软件测试的分类与流程_第2页
软件测试的分类与流程_第3页
软件测试的分类与流程_第4页
软件测试的分类与流程_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试的分类与流程一、软件测试常见分类我们每个人在测试过程中都会遇到几种类型的测试。我们可能听过一 些,也许已经做了一些工作,但是并不是每个人都了解所有测试类型。每 种测试都有其自身的功能,优点和缺点。但是,在本文中,我几乎涵盖了 我们在日常测试生活中通常使用的每种软件测试。下面列出了一些常见的 软件测试类型。功能测试类型包括:单元测试整合测试系统测试健全性测试冒烟测试接口测试回归测试beta /验收测试非功能测试类型包括:性能测试负载测试压力测试容量测试安全测试相容性测试安装测试恢复测试可靠性测试可用性测试符合性测试本地化测试包括但不限于以上列举内容,下面是详细概念。alpha测试它是软件

2、行业中最常用的测试类型。该测试的目的是在将其发布到市 场或用户之前,确定所有可能的问题或缺陷。alpha测试在软件开发阶段的最后但beta测试之前进行。尽管如此, 作为此类测试的结果,可能会进行较小的设计更改。alpha测试是在开发人员的网站上进行的。可以为这种类型的测试创建 内部虚拟用户环境。验收测试验收测试是由客户端执行,并验证结束系统的流量到底是否是按照业 务需求与否,如果是按照最终用户的需求。仅当所有功能部件均按预期工 作时,客户端才接受该软件。这是测试的最后阶段,此后该软件将投入生产。这也称为用户验收测 试(uat)。临时测试名称本身表明该测试是在临时基础上执行的,即不参考测试用例,

3、也 没有针对此类测试的任何计划或文档。该测试的目的是通过执行应用程序的任何流程或任何随机功能来发现 缺陷并破坏应用程序。临时测试是一种发现缺陷的非正式方法,项目中的任何人都可以执行。 没有测试用例就很难识别缺陷,但是有时可能无法使用现有的测试用例来 识别临时测试期间发现的缺陷。辅助功能测试可访问性测试的目的是确定残疾人是否可以访问该软件或应用程序。在这里,残疾是指聋哑,色盲,智障,盲人,老年和其他残疾群体。 执行各种检查,例如用于视觉障碍的字体大小,用于色盲的颜色和对比度 等。beta测试beta测试是由客户执行的正式类型的软件测试。它在realenvironment 中执行的,然后再将产品发

4、布给实际的最终用户。进行beta测试是为了确 保软件或产品没有重大故障,并且从最终用户的角度来看,它可以满足业 务需求。客户接受软件后,beta测试成功。通常,此测试通常由最终用户或其他用户完成。这是在发布用于商业 目的的应用程序之前完成的最终测试。通常,发布的软件或产品的beta版 本仅限于特定区域中的一定数量的用户。因此,最终用户实际上使用了该软件并将反馈共享给公司。然后,公 司在将软件发布给全球之前会采取必要的措施。后端测试只要在前端应用程序上输入了输入或数据,它就会存储在数据库中, 并且这种数据库的测试称为数据库测试或后端测试。有不同的数据库,例如sql server, mysql和o

5、racle等。数据库测试 涉及表结构,架构,存储过程,数据结构等的测试。在不涉及后端测试的gui中,测试人员通过适当的访问权限直接连接 到数据库,并且测试人员可以通过在数据库上运行一些查询来轻松地验证 数据。在此后端测试期间,可能会发现诸如数据丢失,死锁,数据损坏等问 题,这些问题对于在系统投入生产环境之前修复至关重要。浏览器兼容性测试它是兼容性测试的子类型(在下面进行说明),由测试团队执行。浏览器兼容性测试是针对web应用程序执行的,它确保该软件可以在 不同浏览器和操作系统的组合下运行。这种类型的测试还可以验证web应 用程序是否在所有浏览器的所有版本上运行。向后兼容性测试这是一种测试,用于

6、验证新开发的软件或更新的软件是否与旧版本的 环境兼容。向后兼容性测试将检查新版本的软件是否与旧版本软件创建的文件格 式兼容;它也可以与该软件的旧版本创建的数据表,数据文件和数据结构 很好地配合使用。如果对任何软件进行了更新,则它应该可以在该软件的先前版本之上 正常运行。黑匣子测试在这种类型的测试中不考虑内部系统设计。测试基于要求和功能。有关黑盒测试的优缺点和类型的详细信息,请参见此处。边值测试这种类型的测试在边界级别检查应用程序的行为。执行边界值测试以检查边界值是否存在缺陷。边界值测试用于测试不同范围的数字。每个范围都有一个上下边界,并在这些边界值上进行测试。如果测试要求测试范围是1到500,

7、则对值分别为0、1、2、499、500和501进行边界值测试。分支测试它是白盒测试的一种,在单元测试期间执行。分支测试,其名称本身 暗示通过遍历每个分支对代码进行彻底测试。比较测试将产品与以前版本或其他类似产品的优缺点进行比较称为比较测试。兼容性测试它是一种测试类型,可在其中验证软件在不同环境,web服务器,硬件 和网络环境中的行为方式和运行方式。兼容性测试可确保软件可以在不同的配置,不同的数据库,不同的浏 览器及其版本上运行。兼容性测试由测试团队执行。组件测试它主要由开发人员在完成单元测试后执行。组件测试涉及将多个功能 作为单个代码进行测试,其目的是在将多个功能相互连接后确定是否存在 任何缺

8、陷。端到端测试与系统测试类似,端到端测试涉及在模拟实际使用的情况下测试完整 的应用程序环境,例如与数据库进行交互,使用网络通信或与其他硬件, 应用程序或系统进行交互(如果需要)适当。等效分区它是一种测试技术,是黑匣子测试的一种。在此等效分区期间,将选 择一组组,并选取一些值或数字进行测试。可以理解,该组中的所有值都 生成相同的输出。该测试的目的是删除特定组中的冗余测试用例,这些特定用例会生成 相同的输出,但不会产生任何缺陷。假设应用程序接受介于-10到+ 10之间的值,因此使用对等划分将用于 测试的值分为零,一个正值,一个负值。因此,此测试的等效分区为-10到 t、0 和 1 到 10。测试示

9、例这意味着实时测试。示例测试包括实时场景,它还包含基于测试人员 经验的场景。探索性测试探索性测试是由测试团队执行的非正式测试。该测试的目的是探索应 用程序并查找应用程序中存在的缺陷。有时,可能会在测试过程中发现主要缺陷甚至导致系统故障。在探索性测试期间,建议跟踪特定流程开始之前已测试的流程以及进 行的活动。无需文件和测试用例即可执行探索性测试技术。功能测试这种类型的测试会忽略内部零件,仅关注输出以检查其是否符合要求。 这是针对应用程序功能要求的黑盒型测试。有关功能测试的详细信息,请 单击此处。图形用户界面(gui)测试此gui测试的目的是根据业务需求验证gui。在“详细设计文档”和“ gui样

10、机”屏幕中提到了应用程序的预期gui。gui测试包括屏幕上显示的按钮和输入字段的大小,所有文本,表格和 表格内容的对齐方式。在选择了不同的菜单和菜单项之后,它还验证了应用程序的菜单,它 验证了页面没有波动,并且在将鼠标悬停在菜单或子菜单上之后,对齐方 式保持不变。大猩猩测试大猩猩测试是由测试人员执行的测试类型,有时也由开发人员执行。 在大猩猩测试中,对一个模块或模块中的功能进行了彻底而严格的测试。 该测试的目的是检查应用程序的健壮性。快乐路径测试happy path testing的目的是在正向流上成功测试应用程序。它不查 找否定条件或错误条件。重点仅在于应用程序通过其生成预期输出的有效 和正

11、输入。增量集成测试增量集成测试是一种自下而上的测试方法,即在添加新功能时对应用 程序进行连续测试。应用程序功能和模块应足够独立,可以分别进行测试。 这是由程序员或测试人员完成的。安装/卸载测试安装和卸载测试是在不同硬件或软件环境下的不同操作系统上对完整, 部分或升级安装/卸载过程进行的。集成测试在集成后对所有集成模块进行测试以验证组合后的功能称为集成测试。 模块通常是代码模块,单个应用程序,网络上的客户端和服务器应用 程序等。此类测试尤其与客户端/服务器和分布式系统相关。负载测试这是一种非功能测试,负载测试的目的是检查系统可以处理多少负载 或最大工作负载而不会降低性能。负载测试有助于找到特定负

12、载下的最大系统容量以及任何导致软件性 能下降的问题。使用 jmeter, loadrunner, webload, silk performer 等 工具执行负载测试。猴子测试猴子测试由测试人员执行,假设如果猴子使用该应用程序,那么猴子 将如何随机输入数值,而无需对该应用程序有任何知识或了解。猴子测试的目的是通过提供随机输入值/数据来检查应用程序或系统 是否崩溃。猴子测试是随机执行的,没有编写测试用例的脚本,因此不需 要猴子测试是随机执行的,没有编写测试用例的脚本,也不必知道系统 的全部功能。变异测试突变测试是一种白盒测试,其中一个程序的源代码已更改,并验证现 有测试用例是否可以识别系统中的这

13、些缺陷。程序源代码中的更改非常小,因此不会影响整个应用程序,只有具有 影响的特定区域和相关的测试用例才能识别系统中的那些错误。负面测试测试人员本着“破坏的态度”的心态并使用否定测试来验证系统或应 用程序是否中断。负测试技术是使用错误的数据,无效的数据或输入执行 的。它可以验证系统是否抛出无效输入错误并按预期方式运行。非功能测试这是一种测试,每个组织都有一个单独的团队,通常称为非功能测试 (nft)团队或性能团队。非功能测试涉及对非功能需求的测试,例如负载测试,压力测试,安 全性,容量,恢复测试等。nft测试的目的是确保软件或应用程序的响应时 间是否足够快。业务需求。加载任何页面或系统都不会花费

14、太多时间,并且应该在高峰加载期间 保持正常。性能测试该术语通常与“压力”和“负载”测试互换使用。执行性能测试以检查系统是否满足性能要求。使用不同的性能和负载工具进行此测试。这是一种测试,用于验证应用程序或系统从崩溃或灾难中恢复的情况。 恢复测试确定系统在灾难后是否能够继续运行。假定应用程序正在通 过网络电缆接收数据,并且突然断开了网络电缆的连接。稍后再插入网络电缆。然后系统应从由于网络电缆拔出而失去连接的 位置开始接收数据。回归测试对应用程序进行整体测试以对任何模块或功能进行修改,这称为回归 测试。很难在回归测试中涵盖所有系统,因此通常将自动化测试工具用于 这些类型的测试。基于风险的测试(rb

15、t)在基于风险的测试中,功能或需求是根据其优先级进行测试的。基于 风险的测试包括对高度关键的功能的测试,该功能对业务的影响最大,并 且失败的可能性非常高。优先级决定基于业务需求,因此,一旦为所有功能设置了优先级,便 会先执行高优先级功能或测试用例,然后再执行中优先级功能,再执行低 优先级功能。低优先级功能可以根据可用时间进行测试,也可以不进行测试。如果没有足够的时间来测试整个软件,则需要执行基于风险的测试, 并且需要按时实施软件,而不会出现任何延迟。仅在客户和组织高级管理 人员讨论并批准之后,才采用这种方法。健全性测试进行完整性测试可以确定新软件版本的性能是否足以接受主要测试工 作。如果应用程

16、序在初次使用时崩溃了,则系统不够稳定,无法进行进一 步的测试。因此,分配了构建或应用程序来修复它。安全测试这是由一组特殊的测试人员执行的测试。可以通过任何黑客方式渗透 系统。已进行安全测试,以检查软件或应用程序或网站如何免受内部和外部 威胁的影响。该测试包括从恶意程序,病毒保护多少软件,以及授权和身 份验证过程的安全性和强度。它还会检查软件对任何黑客攻击和恶意程序的行为,以及在此类黑客 攻击后如何维护软件以确保数据安全。冒烟测试每当开发团队提供新的构建时,软件测试团队都会验证该构建并确保 不存在重大问题。测试团队确保构建稳定并进一步执行详细的测试级别。冒烟测试 (smoke testing)检

17、查构建中是否没有显示停止器缺陷,这将阻止测试团 队详细测试应用程序。如果测试人员发现主要的关键功能在初始阶段就被破坏了,那么测试 团队可以拒绝该构建,并相应地通知开发团队。冒烟测试在所有功能或回 归测试的详细级别上进行。静态测试静态测试是一种无需任何代码即可执行的测试。在测试阶段对文档进 行执行。它涉及对项目可交付成果的审查,演练和检查。静态测试不执行代码而不是代码语法,而是检查命名约定。静态测试还适用于测试用例,测试计划,设计文档。有必要由测试团 队执行静态测试,因为从项目的角度来看,在这种类型的测试中发现的缺 陷具有成本效益。压力测试当系统承受的压力超出其规格以检查其故障方式和时间时,将进

18、行此 测试。这是在繁重的负载下执行的,例如将大量存储容量,复杂的数据库 查询,对系统的连续输入或数据库负载。系统测试在系统测试技术下,按照要求对整个系统进行测试。这是一种黑盒型 测试,它基于总体需求规范,涵盖了系统的所有组合部分。单元测试对单个软件组件或模块的测试称为单元测试。它通常是由程序员而不 是测试人员完成的,因为它需要内部程序设计和代码的详细知识。它还可 能需要开发测试驱动程序模块或测试工具。可用性测试在“可用性测试”下,完成了用户友好性检查。测试了应用程序流程, 以了解新用户是否可以轻松理解该应用程序,如果用户在任何时候陷入困 境,都可以提供适当的帮助。基本上,在此测试中检查系统导航

19、。漏洞测试涉及确定软件,硬件和网络中漏洞的测试称为漏洞测试。如果恶意程 序容易受到此类攻击,病毒和蠕虫的攻击,则黑客可以控制该系统。因此,有必要在生产前检查那些系统是否经过漏洞测试。它可能会识 另|出关键缺陷,安全缺陷。音量测试容量测试是性能测试团队执行的一种非功能测试。该软件或应用程序需要处理大量数据,当系统遇到大量数据时,volume testing会检查系统行为和应用程序的响应时间。如此大量的数据可能会影 响系统的性能和处理时间。白盒测试白盒测试基于有关应用程序代码内部逻辑的知识。也称为玻璃箱测试。应该知道内部软件和代码的工作方式才能进行这 种类型的测试。在这些测试下,基于代码语句,分支

20、,路径,条件等的覆 盖范围。结论上述软件测试类型只是测试的一部分。但是,仍然有超过100多种测 试类型的列表,但是并非所有类型的项目都使用所有测试类型。因此,我 介绍了一些常见的软件测试类型,这些类型通常用于测试生命周期中。同样,在不同的组织中使用替代定义或过程,但是基本概念在任何地 方都是相同的。随着项目,需求和范围的变化,这些测试类型,过程及其 实现方法会不断变化。二、软件测试基础流程测试主要做什么?这完全都体现在测试流程中,同时测试流程是面试 问题中出现频率最高的,这不仅是因为测试流程很重要,而是在面试过程 中这短短的半小时到一个小时的时间,通过测试流程就可以判断出应聘者 是否合适,故在

21、测试流程中包含了测试工作的核心内容,例如需求分析,测试用例的设计,测试执行,缺陷等重要的过程。下面就以迭代测试为例,给大家画下测试流程图:1. 需求分析一般在上一个迭代测试即将完成之时,下一个迭代的需求文档就己经 发出来,放到配置管理平台,便于测试和开发自取,那这个时候一般测试 人员就会自动去取需求文档,开始做需求分析,需求分析主要是分析接下 来的需求,从功能交互,测试要点等方面入手分析。需求分析完成之后,就会开始需求评审,如果对需求评审不了解的, 可以查看上一篇文章。2. 编写测试用例需求评审完成之后,对测试而言,应该还需要编写测试计划和测试方 案,一般测试计划是由测试主管编写,测试方案是高

22、级测试工程师编写, 故有些测试人员并不会要求编写,但是测试用例却是每个测试人员都需求 编写的,一般测试用例我们主要用到的都是黑盒用例设计方法,如等价类 分析法,边界值分析法,因果图,判定表,场景法,状态迁移,错误推测 法等等,根据自己熟悉的方法和需求文档来设计测试用例。测试用例编写完成后,测试人员就要开始用例评审,用例评审与需求 评审的评审流程相同,只是发起人和评审内容,评审重点不同。3. 测试执行一般用例评审完成之后,就要开始等待开发转测。转测成功后,测试这边就要开始搭建测试环境,然后进行冒烟测试, 冒烟测试通过后才开始进入正式测试执行阶段。冒烟测试的重点:(1) 原来版本的主要功能(2) 新需求的主要功能主要流程4 .提交缺陷在正式测试阶段,测试人员是根据已经编写好的测试用例执行程序, 当执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论