手动测试是一种软件测试过程,其中测试用例在不使用任何自动化工具的情况下手动执行。测试人员根据最终用户的观点手动执行所有测试用例。它确保应用程序是否正常工作,如需求文档中所述。计划和实施测试用例以完成几乎 100% 的软件应用程序。测试用例报告也是手动生成的。
手动测试是最基本的测试过程之一,因为它可以找到软件的可见和隐藏缺陷。软件给出的预期输出和输出之间的差异定义为缺陷。开发人员修复了缺陷并将其交给测试人员进行重新测试。
在自动化测试之前,每个新开发的软件都必须进行手动测试。这种测试需要大量的努力和时间,但它提供了无错误软件的保证。手动测试需要了解手动测试技术,但不需要任何自动化测试工具。
手动测试是必不可少的,因为 软件测试 的基本原理之一是“不可能实现100%自动化”。
为什么我们需要手动测试
每当应用程序进入市场,并且它不稳定或存在错误或问题或在最终用户使用它时产生问题时。
如果我们不想面对这类问题,我们需要进行一轮测试,使应用程序无错误和稳定,并向客户端提供优质的产品,因为如果应用程序没有错误,最终用户会更方便地使用应用程序。
如果测试工程师进行手动测试,他/她可以从最终用户的角度测试应用程序,并更熟悉产品,这有助于他们编写应用程序的正确测试用例并给出应用程序的快速反馈。
手动测试的类型
有多种方法可用于手动测试。每种技术都根据其测试标准使用。手动测试的类型如下:
白盒测试
白盒测试由开发人员完成,他们在将代码交给测试工程师之前检查代码的每一行。由于代码在测试期间对开发人员可见,这就是为什么它也被称为白盒测试。
有关白盒测试的更多信息,请参阅以下链接:
https://www.javatpoint.com/white-box-testing
黑盒测试
黑盒测试由测试工程师完成,他们可以根据客户/客户的需求检查应用程序或软件的功能。在这种情况下,代码在执行测试时不可见;这就是为什么它被称为黑盒测试。 有关黑盒测试的更多信息,请参阅以下链接:
https://www.javatpoint.com/black-box-testing
灰盒测试
灰盒测试是白盒和黑盒测试的组合。它可以由懂编码和测试的人执行。如果一个人执行白盒测试,以及应用程序的黑盒测试,则称为灰盒测试。
要获取有关灰盒测试的更多详细信息,请参阅以下链接:
https://www.javatpoint.com/grey-box-testing 如何执行手动测试
- 首先,测试人员观察与软件相关的所有文档,以选择测试区域。
- 测试人员分析需求文档,以涵盖客户陈述的所有要求。
- 测试人员根据需求文档开发测试用例。
- 所有测试用例都是通过使用黑盒测试和白盒测试手动执行的。
- 如果出现错误,则测试团队会通知开发团队。
- 开发团队修复错误并将软件交给测试团队进行重新测试。
软件建立过程
- 收集到需求后,它将提供给两个不同的团队开发和测试团队。
- 获得要求后,相关开发人员将开始编写代码。
- 同时,测试工程师了解需求并准备所需的文档,到目前为止,开发人员可以完成代码并存储在 控制版本工具 中。
- 之后,UI 中的代码更改,这些更改由一个单独的团队(称为 生成团队 )处理。
- 该建立团队将获取代码,并在建立工具的帮助下开始编译和压缩代码。一旦我们得到一些输出,输出就会进入zip文件,该文件称为 Build (应用程序或软件)。每个版本都会有一些唯一的编号,如(B001,B002)。
- 然后,此特定版本将安装在测试服务器中。之后,测试工程师将在测试 URL 的帮助下访问此测试服务器并开始测试应用程序。
- 如果测试工程师发现任何错误,他/她将被报告给相关开发人员。
- 然后开发者会在测试服务器中重现该 bug 并修复该 bug,并再次将代码存储在 Control version 工具中,它将安装新的更新文件并删除旧文件;这个过程会一直持续到我们得到稳定的建立。
- 一旦我们获得了稳定的建立,它将被移交给客户。
注1
- 从控制版本工具收集文件后,我们将使用建立工具将代码从高级语言编译为机器级语言。编译后,如果文件大小会增加,那么我们将压缩该特定文件并转储到测试服务器中。
- 此过程由建立团队、 开发人员 (如果建立团队不在,开发人员可以完成)或 测试负责人 (如果 建立团队 直接处理 zip 并将应用程序安装到测试服务器并通知测试工程师)完成。
- 通常,我们无法为每个错误都获得新的建立;否则,大部分时间只会浪费在创建建立上。
注2
建立团队
建立团队的主要工作是创建应用程序或生成并将高级语言转换为低级语言。
它是软件,用于将代码转换为应用程序格式。它由一些功能和错误修复组成,这些功能和错误修复将移交给测试工程师进行测试,直到它变得稳定。
控件版本工具
它是一个软件或应用程序,用于以下目的:
- 在此工具中,我们可以保存不同类型的文件。
- 它始终是安全的,因为我们使用相同的登录凭据从工具访问文件。
- 这些工具的主要目标是跟踪对现有文件所做的更改。
建立过程示例
让我们看一个示例来了解如何在真实场景中建立流程工作:
一旦测试工程师发现错误,他们就会将其发送给开发人员,他们需要一些时间来分析;之后,他/她只修复错误(测试工程师不能给出错误的集合)。
开发人员根据他们的时间决定他可以修复多少错误。并且测试工程师决定,应该根据自己的需要首先修复哪个错误,因为测试工程师无法承受停止测试的代价。
而收到邮件的测试工程师,他们只能通过错误修复列表知道哪个 错误被修复 。
时间会增加,因为在第一次建立时,开发人员应该在不同的功能中编写代码。最后,他/她只能进行错误修复,天数将减少。
注3
测试周期 测试周期是提供给测试工程师测试每个建立的持续时间。
两者之间的区别
在一个建立中发现的错误,并且可以修复任何未来的建立,这取决于测试工程师的要求。每个新版本都是旧版本的修改版本,这些修改可能是错误修复或添加一些新功能。
我们获取新版本的频率
一开始,我们过去每周都会获得一次建立,但在测试的最新阶段,当应用程序变得稳定时,我们习惯于每 3 天、两天或每天获取一次新版本。
我们获得了多少建立
如果我们考虑任何项目持续时间的一年,我们得到了 22-26 个建立。
当我们得到错误修复时
通常,我们只有在测试周期完成后才能理解错误修复,或者在一个建立中修复错误集合,并在下一个建立中移交。
手动测试的优点
- 使用黑盒方法时,它不需要编程知识。
- 它用于测试动态变化的GUI设计。
- 测试人员以真实用户的身份与软件交互,以便他们能够发现可用性和用户界面问题。
- 它确保软件百分百没有错误。
- 这是划算的。
- 易于新测试人员学习。
手动测试的缺点
- 它需要大量的人力资源。
- 这是非常耗时的。
- 测试人员根据他们的技能和经验开发测试用例。没有证据表明它们是否涵盖了所有职能。
- 测试用例不能再次使用。需要为每个新软件开发单独的测试用例。
- 它不提供对测试的所有方面的测试。
- 由于两个团队一起工作,有时很难理解彼此的动机,这可能会误导这个过程。
手动测试工具
在手动测试中,不同类型的测试,如单元,集成,安全性,性能和错误跟踪,我们有各种工具,如 Jira , Bugzilla ,Mantis,Zap,NUnit,Tessy,LoadRunner,Citrus,SonarQube等。有些工具是开源的,有些是商业的。
有关测试工具的更多信息,请参阅以下链接:
https://www.javatpoint.com/software-testing-tools
让我们一一了解它们:
LoadRunner
它是最常用的性能测试工具。LoadRunner 主要用于支持各种程序、方法数量和应用环境的性能测试。
执行 LoadRunner 工具的主要目的是快速对最常见的性能问题来源进行分类。
LoadRunner 的功能
- LoadRunner 工具包含 n 个应用程序,这减少了理解和描述报告的时间。
- 我们可以通过使用 LoadRunner 工具获得全面的性能测试报告。
- 它将降低分布式负载测试的成本,并提供用于部署跟踪的操作工具。
Citrus
Citrus是一种集成测试工具,是最常用的测试框架。它是用 Java编程语言 编写的。它主要用于请求和响应服务器端和客户端,并验证 XML JSON 文件。
为了完成端到端用例测试,citrus 支持多种 HTTP、JMS 和 SOAP 协议。
Citrus的特性
以下是柑橘工具的一些重要功能:
- 它用于发送和接收消息。
- 柑橘在市场上既有开源的,也有许可的。
- 它提供了一种低成本的解决方案。
- 我们可以使用柑橘工具对数据库进行身份验证。
- 它将描述消息序列,提供测试计划并记录测试覆盖率。
- 它创建消息并验证响应。
NUnit
NUnit 是最常用的单元测试工具之一。它是一个开源工具,主要派生自 JUnit 。
它完全是用 C#编程语言 编写的,适用于所有 .Net语言 。
换句话说,我们可以说NUnit工具完全重新设计,成为许多.Net语言质量的优势。 例如:
NUnit 的特点
- 它允许断言作为优势类的静态方法。
- 它支持数据驱动的测试。
- 它支持多个平台,如.NET core Xamarin mobile,Silverlight和高效框架。
- NUnit 的能力帮助我们同时执行测试。
- 它使用控制台运行程序来加载和执行测试。
JIRA
最常用的错误跟踪工具是 JIRA ,这是一个开源工具。它用于错误跟踪,项目管理和问题跟踪。
在此工具中,我们可以轻松跟踪与软件相关并由测试工程师产生的各种错误或缺陷。
Jira 的特点
- 这是一个节省时间的工具。
- Jira 用于跟踪缺陷和问题。
- 它用于建立文档任务。
- Jira 是跟踪文档改进的非常有用的工具。
要获取有关 Jira 工具的完整信息,请参阅以下链接: https://www.javatpoint.com/jira-tutorial 。
SonarQube
手动测试的另一个测试工具是SonarQube,它通过持续的代码质量和代码安全性改进了我们的工作流程。它使用插件很灵活。
它完全用JAVA编程语言编写。它提供全自动评估和与Ant,Maven,Gradle,MSBuild和恒定集成工具的集成。SonarQube能够记录指标历史并提供演变图。
SonarQube的特点
以下是SonarQube工具的一些重要功能:
- 它支持多种编程语言,如C,C++,Python,JAVA,HTML,CSS,VB.NET,PHP,COBOL,PL / SQL等。
- 在GNU宽通用公共许可证下,Sonarqube是免费提供的。
- SonarQube隶属于一些重要的外部工具,如GitHub,Active Directory,LDAP等。
- 由于 SonarLint插件,SonarQube 与Visual Studio,Eclipse和IntelliJ IDEA开发环境合并。
JMeter
JMeter 是一个开源工具,用于测试静态和动态资源以及动态 Web 应用程序的性能。
它完全在 JAVA 应用程序上设计,用于加载功能测试行为并测量应用程序的性能。
它方便用户或开发人员使用源代码开发其他应用程序。
JMeter的特点
以下是JMeter的一些基本特征:
- 它是独立于平台的,接受 Windows,Mac和Linux等 JVM。
- 它支持用户友好的GUI,该GUI是交互式且直接的。
- 在多种类型的服务器中加载性能测试具有令人难以置信的可扩展性。
有关JMeter的更多信息,请参阅以下链接:
https://www.javatpoint.com/jmeter-tutorial 。
Bugzilla
手动测试中使用的另一个错误跟踪工具是 Bugzilla 。
许多组织最广泛使用它来跟踪应用程序的各种错误。
Bugzilla是一个开源工具,可以帮助客户和客户跟踪缺陷。Bugzilla 也被认为是一种测试管理工具,因为在这里,我们可以轻松地链接其他测试用例管理工具,例如 ALM、质量中心等。
它方便用户或开发人员使用源代码开发其他应用程序。
Bugzilla的特点
Bugzilla有一些附加功能可以帮助我们轻松报告错误:
- 它支持各种操作系统,如Windows,Linux和Mac。
- 在 Bugzilla 的帮助下,我们可以以多种格式列出错误。
- 用户首选项可以测量电子邮件通知。
- Bugzilla具有高级搜索功能。
Mantis
Mantis是一个基于Web的错误跟踪系统。ManitsBT 代表 Mantis Bug Tracker 。它用于跟踪软件缺陷,并在PHP编程语言中执行。它也是一个开源工具。
Mantis的特点
特定工具的一些标准功能如下:
- 借助此工具,我们具有全文搜索可访问性。
- 对问题所做的更改的审计跟踪。
- 它提供了版本控制系统集成。
- 文本字段和注释的修订控制
要获取有关错误跟踪工具的更多详细信息,请参阅以下链接: https://www.javatpoint.com/defect-or-bug-tracking-tool 。
Tessy
另一个集成测试工具是 Tessy ,用于执行嵌入式软件的集成和单元测试。它还可以帮助我们发现软件或应用程序的代码覆盖率。
它可以轻松管理整个测试组织,包括业务需求、测试管理、覆盖数量和可追溯性。
Tessy包含三个主要功能,如下所示:
- 测试界面编辑器 (TIE)
- 测试数据编辑器 (TDE)
- 工作。
TESSY的特点
TESSY的标准功能如下:
- 它为测试执行结果生成测试报告。
- 它支持各种编程语言,如C和C++。
- Tessy用于计算函数的接口,并描述该函数使用的变量。
有关集成测试工具的详细信息,请参阅以下链接: https://www.javatpoint.com/integration-testing-tools 。
概述
在本文中,我们看到了有关手动测试的详细信息,其中包括手动测试的定义,手动测试的需求,手动测试的类型,手动 测试工具,手动测试的过程以及它的一些重要优点和缺点。
最后,我们可以说,这是一个测试工程师需要非常坚持不懈、创新和响应迅速的过程。
在 手动 测试 中, 测试 工程 师 需要 像 终端 用户 解释 一样 思考 和 执行。
为了 实现 手动 测试, 测试 工程 师 需要 生产 技能 和 想象力。他们需要考虑多种情况或场景来测试特定的应用程序。
尽管我们目前可以在自动化测试的帮助下测试几乎所有应用程序,但手动测试仍然是必要的,因为它是软件测试的基础。
|