项目需要端到端的测试,作为测试小白,打算撰写系列学习笔记。安排如下:
这篇是第一篇,拟从测试的分类了解软件测试的工作对象、目标、流程以及方法。
软件测试网(softwaretestinghelp.com)提供了比较全面的测试分类,本文主要是对它内容的一些整理。
按照测试对象可以分成功能测试(functional testing type)以及非功能测试(non-functional testing type)。
功能测试包括:
非功能性测试包括:
注意到,不同类型的测试可能也是交叉相关的。
单元测试(Unit Testing):单个软件组件或模块的测试称为单元测试。 它通常是由程序员而不是测试人员完成的,因为它需要内部程序设计和代码的详细知识。 它还可能需要开发测试驱动程序模块或测试工具。
集成测试(Integration Testing):在集成后测试所有集成模块以验证组合功能的过程称为集成测试。模块通常是代码模块,单个应用程序,网络上的客户端和服务器应用程序等。此类测试尤其与客户端/服务器和分布式系统相关。
系统测试(System Testing):在系统测试技术下,将根据要求对整个系统进行测试。 这是一种黑盒型测试,它基于总体需求规范,涵盖了系统的所有组合部分。
可接受性测试(Acceptance Testing):客户端执行验收测试,并验证系统的端到端流程是否符合业务需求,以及是否符合最终用户的需求。 仅当所有功能部件均按预期工作时,客户端才接受该软件。这是测试的最后阶段,此后该软件将投入生产。 这也称为用户验收测试(User Acceptance Testing,UAT)。
端到端测试(End-to-End Testing):与系统测试(System Testing)类似,端到端测试涉及在模拟实际使用的情况下测试完整的应用程序环境,例如与数据库进行交互,使用网络通信或与其他硬件,应用程序或系统进行交互(如果需要) 适当。
回归测试(Regression Testing):对应用程序进行整体测试以对任何模块或功能进行修改,这称为回归测试。 很难在回归测试中涵盖所有系统,因此通常将自动化测试工具用于这些类型的测试。
冒烟测试(Smoke testing):在释放每个版本以进行测试以确保版本稳定性之后进行的测试。 也称为构建验证测试。
健全性测试(Sanity Testing):为确保应用程序/系统的所有主要和重要功能正常工作而进行的测试。 这通常是在冒烟测试后完成的。
图形用户界面测试(Graphical User Interface (GUI) Testing):此GUI测试的目的是根据业务需求验证GUI。 GUI测试包括屏幕上显示的按钮和输入字段的大小,所有文本,表格和表格内容的对齐方式。在选择了不同的菜单和菜单项之后,它还验证了应用程序的菜单,它验证了页面没有波动,并且在将鼠标悬停在菜单或子菜单上之后,对齐方式保持不变。
后端测试(Back-end Testing):只要在前端应用程序上输入了输入或数据,它就会存储在数据库中,并且这种数据库的测试称为数据库测试或后端测试。数据库测试涉及表结构,架构,存储过程,数据结构等的测试。
Alpha测试:该测试的目的是在将其发布到市场或用户之前,确定所有可能的问题或缺陷。Alpha测试在软件开发阶段的最后但Beta测试之前进行。测试是在开发人员的网站上进行的,可以为这种类型的测试创建内部虚拟用户环境。
Beta测试:该测试是由客户执行的正式类型的软件测试。 它是在真实环境中执行的,然后再将产品发布给实际的最终用户。进行Beta测试是为了确保软件或产品没有重大故障,并且从最终用户的角度来看,它可以满足业务需求。 客户接受软件后,Beta测试成功。通常,此测试通常由最终用户或其他用户完成。 这是在发布用于商业目的的应用程序之前完成的最终测试。 通常,发布的软件或产品的Beta版本仅限于特定区域中的一定数量的用户【有些像游戏的内测】。因此,最终用户实际上使用了该软件并将反馈共享给公司。 然后,公司在将软件发布到全球之前会采取必要的措施。
兼容性测试:兼容性测试可确保软件可以在不同的配置,不同的数据库,不同的浏览器及其版本上运行。 兼容性测试由测试团队执行。
可访问性测试(Acceptance Testing):为了确定残疾人是否可以访问该软件或应用程序。检查包括用于视觉障碍的字体大小,用于色盲的颜色和对比度等。
安装/卸载测试(Install/Uninstall Testing):安装和卸载测试是在不同硬件或软件环境下的不同操作系统上对完整,部分或升级安装/卸载过程进行的。
恢复测试(Recovery Testing):用于验证应用程序或系统从崩溃或灾难中恢复的情况。
边界值测试(Boundary Value Testing):这种类型的测试在边界级别检查应用程序的行为。执行边界值测试以检查边界值是否存在缺陷。 边界值测试用于测试不同范围的数字。 每个范围都有一个上下边界,并在这些边界值上进行测试。
安全测试(Security Testing):这是由一组特殊的测试人员执行的测试。 可以通过任何黑客方式渗透系统进行安全测试,以检查软件或应用程序或网站如何免受内部和外部威胁的影响。 该测试包括从恶意程序,病毒保护多少软件,以及授权和身份验证过程的安全性和强度。它还会检查软件对任何黑客攻击和恶意程序的行为,以及在此类黑客攻击后如何维护软件以确保数据安全。
漏洞测试(Vulnerability Testing):涉及确定软件,硬件和网络中漏洞的测试称为漏洞测试。 如果恶意程序容易受到此类攻击,病毒和蠕虫的攻击,则黑客可以控制该系统。因此,有必要在生产前检查那些系统是否经过漏洞测试。 它可能会识别出关键缺陷,安全缺陷。
可用性测试(Usability Testing):完成了用户友好性检查。 测试了应用程序流程,以了解新用户是否可以轻松理解该应用程序,如果用户在任何时候陷入困境,都应提供适当的帮助文档。 基本上,在此测试中检查系统导航。
性能测试(Performance Testing):该术语通常与“压力(Stress)”和“负荷(Load)”测试互换使用。 执行性能测试以检查系统是否满足性能要求。 使用不同的性能和负载工具进行此测试。
下面再特别说明下单元测试、集成测试、系统测试以及端到端测试。 作为功能测试,这四个测试可以说是顺序的
STEP1:单元测试(Unit Testing)——
单元测试是其中唯一可以进行白盒测试的测试类型。每个功能模块都是单元,测试者(可以是开发人员也可以是测试人员)可以通过手动测试或者自动测试实现。
STEP2:集成测试(Integration Testing)——
原文:https://www.cnblogs.com/RicardoIsLearning/p/12901070.html