初学者手动测试教程(概念、类型、工具)


手动测试

手动测试是一种软件测试,测试用例由测试人员手动执行,而不是使用自动化工具。手动测试的目的是发现软件产品中的错误、缺陷和漏洞。手动软件测试是所有测试方法中最基本的一种,它有助于发现软件应用程序中的严重问题。

在新的应用程序可以自动化之前,必须先进行手动评估。手动软件测试需要更多的时间和精力,但这对于确定自动化是否可行是必要的。“100%的自动化是无法实现的”,这是软件测试基础原理之一。这需要手动测试。

在我们的初学者手动测试教程中,我们将深入探讨所有手动测试原则和主题。

手动测试的目的

  • 手动测试的主要目标是确保程序无错误,并满足定义的所需功能。

  • 测试套件,也称为用例,在测试过程中创建,应提供100%的测试覆盖率。

  • 它还确保开发人员纠正已识别的缺陷,并由测试人员重新测试已解决的问题。

  • 从本质上讲,严格的测试确保系统达到最高标准,并且客户收到的是无错误的产品。

手动测试阶段

  • **单元测试** - 在测试过程中验证单个源代码部分或单元。程序中最小的可测试部分称为单元。其目标是评估特定应用程序元素的功能。开发人员经常使用它来尽早发现问题。

    单元测试阶段就像点击网页上的按钮并确认它执行预期操作一样简单。例如,验证网站的分享按钮是否允许您分享正确的页面URL。

  • **集成测试** - 单元测试之后是集成测试。将多个单元组合在一起并作为一个单元进行测试。例如,通过检查特定顺序中的一系列网站来验证兼容性。

    此方法帮助质量保证人员确定应用程序的多个组件如何交互以获得预期的结果。与开发同时进行的集成测试有助于开发人员更快地发现和修复错误。

  • **系统测试** - 系统测试顾名思义,涉及到对软件所有互连组件的整体评估。它帮助质量保证人员确定系统是否符合必要规范。它包含各种测试,例如根据特定输入验证输出、客户体验评估等等。

    根据团队的精力和预算,可以进行各种类型的系统测试,例如回归测试、压力测试、功能测试等等。

  • **验收测试** - 验收测试的目的是确定系统整体是否已准备好用于现实世界。进行内部和外部验收测试。组织成员进行内部验收测试(也称为α测试)。少量实际最终用户进行外部测试(也称为β测试)。此过程帮助团队确定产品在多大程度上满足用户的期望。它还在软件交付前的最后阶段发现缺陷。

手动测试类型

下图显示了手动测试类型。实际上,每种类型的软件测试都可以手动进行或借助自动化工具进行。

  • 黑盒测试

  • 白盒测试

  • 单元测试

  • 系统测试

  • 集成测试

  • 验收测试

白盒测试实验

白盒测试,也称为透明测试或玻璃盒测试,是一种方法,其中质量保证人员熟悉应用程序的核心代码或架构。其主要目的是单元测试。白盒测试涵盖了诸如数据流测试、控制流测试、决策覆盖率和路径测试等具体方法。

黑盒测试

黑盒测试是一种测试方法,其中质量保证人员不了解应用程序的源代码或架构。为了评估软件应用程序的功能和非功能特性,质量保证人员与它进行交互,就像最终用户一样。这有助于发现早期阶段经常被忽略的问题。

灰盒测试

灰盒测试方法结合了白盒测试和黑盒测试方法。此方法的主要目标是发现由于使用不当或结构缺陷而可能存在的任何缺陷。

手动测试技术

  • 阅读并理解软件项目的文档/指南。此外,如果可用,请检查被测应用程序 (AUT)。

  • 创建符合所有文档标准的测试用例。

  • 在团队主管和客户的帮助下,评估和校准测试场景(如适用)。

  • 将测试用例应用于AUT。

  • 请报告您发现的任何问题。

  • 解决问题后,重新运行失败的测试用例以确保它们通过。

手动测试的误区

以下是某些常见的测试误区和事实:

  • 误区 - 手动测试任何人都可以做。

  • 事实 - 测试需要广泛的技能。

  • 误区 - 手动测试比自动化测试更有效。

  • 事实 - 无法实现100%的测试自动化。手动软件测试的重要性怎么强调都不为过。

  • 误区 - 测试是一个简单的过程。

  • 事实 - 测试可能极其困难。在使用少量测试用例测试应用程序的可能用例时,需要良好的计算能力。

软件构建过程

  • 收集需求后,将将其发送给开发和测试团队。

  • 负责的开发人员在收到需求后将开始开发程序。

  • 同时,测试工程师解读需求并创建必要的文档;在此期间,开发人员可能会完成代码并将其保存在版本控制工具中。

  • 之后,UI代码发生变化,这些更新由称为构建团队的不同团队处理。

  • 这个构建团队将获取源代码并使用构建工具对其进行组装和压缩。获得一些结果后,我们将其放入名为构建(应用程序或软件)的zip文件中。每个构建都将分配一个唯一的编号,例如(B001、B002)。

  • 然后,将此特定构建安装在测试服务器上。测试工程师然后将使用测试URL连接到此测试服务器并开始测试应用程序。

  • 如果测试工程师发现问题,他或她将通知相应的开发人员。

  • 然后,程序员将在测试服务器上复制问题,修复缺陷,并将代码保存在版本控制工具中,然后该工具将安装最新的升级文件并卸载旧文件;此过程将重复进行,直到构建稳定。

  • 一旦我们拥有稳定的构建,它将被交付给客户。

手动测试与自动化测试

  • 手动测试需要一个人来执行测试。

  • 使用工具执行测试用例称为自动化测试。

  • 手动测试需要熟练的劳动力,需要很长时间并且成本很高。

  • 自动化测试节省了时间、金钱和人员。一旦您捕获了所有内容,运行自动化测试套件就容易得多。

  • 虽然每种类型的应用程序都可以手动测试,但某些类型的测试,例如随机测试和猴子测试,最适合手动处理。

  • 自动化测试仅建议用于稳定的系统,并且通常用于回归测试。

  • 手动测试可能会随着时间的推移变得乏味和枯燥。

  • 在自动化测试中,重复相同测试用例的乏味部分由自动化软件完成。

手动测试自动化工具

  • Selenium

  • QTP

  • JMeter

  • LoadRunner

  • TestLink

  • 应用生命周期管理 (ALM)

手动测试的优势

  • 黑盒方法不需要任何编程经验。

  • 它用于评估动态变化的图形用户界面布局。

  • 测试人员以真实用户的身份与软件交互,以识别可访问性和UI问题。

  • 它确保程序完全无错误。

  • 它是一种经济高效的解决方案。

  • 新手测试人员很容易上手。

手动测试的缺点

  • 它需要大量人员。

  • 它需要很长时间。

  • 根据他们的能力和经验,测试人员会创建测试场景。无法知道他们是否已经探索了所有方面。

  • 测试用例无法重用。每个新的软件都需要自己的一套测试用例。

  • 它不包括测试过程的所有组件的测试。

  • 由于两个团队一起工作,因此可能难以理解彼此的动机,这可能导致过程被误导。

结论

手动测试需要测试人员的耐心、创造力和求知欲。

因为人们参与了软件应用程序的测试,而最终用户也是人,所以手动测试是用户友好型软件开发的重要组成部分。他们必须从最终客户的角度思考或行动。

更新于:2021年12月1日

4K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告