什么是软件测试中的探索性测试(完整指南)(三)

目录

Difference between Exploratory Testing and Ad-hoc Testing探索性测试和随机测试之间的区别

Do not confuse ET with Ad-hoc testing.不要将ET与Ad-hoc测试混淆。

Exploratory Automated Testing (EAT)探索性自动化测试(EAT)

Passive EAT(被动的EAT):

Active EAT(积极的EAT):

Types of Exploratory Testing探索性测试的类型

Agile Exploratory Testing敏捷探索性测试


Difference between Exploratory Testing and Ad-hoc Testing探索性测试和随机测试之间的区别

Do not confuse ET with Ad-hoc testing.不要将ET与Ad-hoc测试混淆。

  • Ad-hoc testing refers to a process of unscripted, unplanned and impromptu defect searching whereas exploratory testing is a thoughtful methodology to Ad-hoc testing.随机测试指的是无脚本,无计划和即兴缺陷搜索的过程,而探索性测试是Ad-hoc测试的深思熟虑的方法。
  • Ad-hoc testing is a hit and trial method of finding a bug whereas ET is not. In ET approach, a tester learns about the system as they explore and eventually evolve the tests using the acquired knowledge.随机测试是一种找到错误的试验方法,而ET不是。 在ET方法中,测试人员在探索测试时要了解系统,并最终使用获得的知识进行测试。
  • Ad-hoc testing is an unstructured activity whereas ET is somewhat a structured activity.随机测试是一种非结构化的活动,而ET在某种程度上是一种结构化的活动。

Exploratory Automated Testing (EAT)探索性自动化测试(EAT)

Exploratory Automated Testing is a method that helps a tester in streamlining bug reporting & reproduction, snapshots gathering and in preparation of future regression suit. It’s a process that combines automation testing with the Exploratory testing.

探索性自动化测试是一种帮助测试人员简化错误报告和复制,快照收集以及准备未来回归的方法。 这是一个将自动化测试与探索性测试相结合的过程。

There are two types of EAT approach有两种类型的EAT方法:

  • Passive EAT被动的EAT
  • Active EAT积极的EAT

Passive EAT(被动的EAT):

Passive EAT can be performed by a single tester or in a pair as well. In this methodology, usually, a tool, which captures and records every single activity performed by a testing resource(s) and is installed on the resource’s PC.

被动EAT可以由单个测试者或成对执行。 在这种方法中,通常是一种工具,它捕获并记录由测试资源执行的每个单独的活动,并安装在资源的PC上。

Passive EAT is similar to the ET that is performed manually as there is no change in the way the tests are executed apart from crafting the test result based on the captured session. These test results can be used for reporting and reenacting of recorded actions later in time.

被动EAT类似于手动执行的ET,因为除了基于捕获的会话制作测试结果之外,测试的执行方式没有变化。 这些测试结果可用于稍后报告和所记录的操作重现。

The installed video tool helps a tester with test case recording and defect reporting.安装的视频工具可帮助测试人员进行测试用例记录和缺陷报告。

It also has few other benefits like它还有其他一些好处,如:

  • Provides clear steps to reproduce the bugs.提供重现错误的明确步骤
  • Reproducing defects is easier even when the defect reporter is not available.即使没有缺陷报告人,再现缺陷也更容易。
  • Do away with the conflicts between the testing and development team when an intermittent bug is reported.当报告间歇性错误时,消除测试和开发团队之间的冲突。
  • Helps in performance testing by getting the system response time at the specific point in time.通过在特定时间点获取系统响应时间来帮助进行性能测试。

Here are few other points to be taken into consideration before Passive EAT在被动EAT之前,还有以下几点需要考虑:

  • It is advised to perform a pilot test before completely adapting the tool for Automated EAT. This is to ensure that the time required for re-designing of the test logs created during the test session is not more than test execution. If so, then the team needs to take a mutual decision on the following建议在完全适应自动EAT工具之前进行试验测试。 这是为了确保在测试会话期间重新设计测试日志所需的时间不超过测试执行时间。 如果是这样,那么团队需要就以下事项做出共同决定:
    • If at all test automation is required for the particular project.如果特定项目需要测试自动化。
    • If the tool being used needs to be changed.如果需要更改正在使用的工具。
    • If the performance of the tool being used can be optimized.如果可以优化所使用工具的性能。
  • The tool used for performing automated EAT needs to be installed on every testing resource involved in testing. It is also a good idea to involve the developers which can be achieved by either giving the developers VPN or remote access to test machines or by installing the tool in the development environment.用于执行自动EAT的工具需要安装在测试中涉及的每个测试资源上。 通过向开发人员提供VPN或远程访问测试机器或在开发环境中安装该工具,可以让开发人员参与进来也是一个好主意。
  • It is always a good idea to have GUI object of the application organized in the test tool so that when the time comes for analyzing the bug or an issue, the object is recognizable due to a meaningful name.在测试工具中组织应用程序的GUI对象始终是一个好主意,以便在分析错误或问题时,由于名称有意义,该对象是可识别。
  • It is a great practice to give a meaningful name to the GUI object used in AUT and keep them organized for later use.为AUT中使用的GUI对象赋予一个有意义的名称,并将它们组织起来供以后使用,是一种很好的做法。

Now, let’s move on to the second approach.现在,让我们继续第二种方法。

Active EAT(积极的EAT):

It is advisable to perform Active EAT with Pair Testing. In this approach, the Keyword Driven testing is used in sync with Session testing. One tester creates the automated test script and the second tester executes the test scripts created by the first tester.

建议使用结对测试执行积极的 EAT。 在这种方法中,关键字驱动测试与会话测试同步使用。 一个测试人员创建自动测试脚本,第二个测试人员执行第一个测试人员创建的测试脚本。

Creation of automation test scripts in this approach takes a different path than in conventional testing. Automated test scripts are made during testing and what has been discovered in the previous tests determine their design.

在这种方法中,创建自动化测试脚本采用与传统测试不同的路径。 在测试期间会生成自动化测试脚本,并根据之前测试中发现的内容,决定了脚本的设计。

A closure phase is executed at the end of the testing session. And it should have the following tasks:

在测试会话结束时执行闭环阶段。 它应该有以下任务:

  • Testers involved should swap roles so that the testing resource who created the test script has a chance to re-execute the scripts to confirm the reliability & robustness of the created suite.涉及的测试人员应交换角色,以便创建测试脚本的测试人员,有机会重新执行脚本以确认创建的套件的可靠性和健壮性。
  • A brief description along with few identifying characteristics should be provided for every automated test script.应为每个自动化测试脚本提供简要描述,以及一些识别特征。
  • A criterion needs to be defined to identify which Automated test scripts can be used for Regression test.需要定义一个标准,以确定哪些自动化测试脚本可用于回归测试。

Benefits of EAT(EAT的好处)

  • At the start of each session, already created automated test scripts are executed thus enhancing the test coverage every-time.在每个会话开始时,执行之前创建的自动测试脚本,从而确保每次的测试覆盖率。
  • Better bug reporting and documentation for defect reproduction.更好的错误报告和缺陷再现文档。
  • EAT provides enough evidence and documentation for a stakeholder to see the progress.EAT为利益相关者提供了足够的证据和文件,以了解进展情况。

Types of Exploratory Testing探索性测试的类型

Given below are few types of ET(以下是几种类型的ET):

1) Freestyle ET(自由式ET):

Exploration of application in ad-hoc style.在ad-hoc测试风格中的应用探索。

In this type of ET, there are no rules, no account for coverage, etc. However, this type of testing is good when you need to familiarize with the application quickly, when you want to verify the work of the other testers, and when you want to investigate a defect or want to do a quick smoke test.

在这种类型的ET中,没有规则,没有覆盖范围等。但是,当您需要快速熟悉应用程序、要验证其他测试人员的工作时,以及当您想调查缺陷或想要进行快速烟雾测试时,此类测试很有用。

2) Scenario-based ET(基于场景的ET):

As the name itself suggests, testing done is scenario based. It starts with real user’s scenarios, end-to-end scenarios or test scenarios. After initial testing, testers can inject variation as per their learning and observation.

顾名思义,测试完成是基于场景的。 它开始于真实用户的场景,端到端场景或测试场景。 经过初步测试,测试人员可以根据他们的学习和观察注入变化项。

Scenarios are like a generic guide for what to do during ET. Testers are encouraged to explore multiple possible paths while executing a scenario to ensure all possible path to a feature work. Testers should also ensure to gather as many scenarios as possible from different categories.

场景就像是在ET期间做事情的通用指南。 鼓励测试人员在执行场景时探索多种可能的路径,以确保所有可能的路径都能工作。 测试人员还应确保从不同类别中收集尽可能多的场景。

3) Strategy based ET(基于策略的ET): 

Known testing techniques such as Boundary value analysis, equivalence technique, and risk-based technique that are combined with exploratory testing. An experienced tester or a tester who is familiar with the application is appointed for this type of testing.

已知的测试技术,如边界值分析,等效技术和与探索性测试相结合的基于风险的技术。 经验丰富的测试人员,或熟悉该应用程序的测试人员被指定进行此类测试。

Agile Exploratory Testing敏捷探索性测试

Even if you have not worked in an agile environment, I am sure you must have read or heard about it because of its growing popularity. Agile methodology has short sprints and tight deadlines which gives a team couple of weeks to finish planning, estimation, development, coding, testing, and release.

即使您没有在敏捷环境中工作,我相信您一定读过相关内容或听说过,因为它越来越受欢迎。 敏捷方法有短暂的冲刺和紧迫的截止日期,这使得团队可以在几周内完成规划,评估,开发,编码,测试和发布。

Exploratory testing becomes handy in such tight deadlines because in this testing approach emphasis is on the quick and useful result. Once you have understood the requirement, you can start testing based on your experience and knowledge.

在如此紧迫的期限内,进行探索性测试变得非常方便,因为在这种测试方法中,重点放到了快速且有用的结果上。 一旦了解了需求,就可以根据自己的经验和知识开始测试。

Once you are familiarized with the application features and behavior, you can design more test cases to validate the application functionality and detect unplanned bugs. As it’s a freestyle testing approach, you do need to document everything. However, you need to maintain notes and a brief report on what you have tested, bugs and issues found etc.

一旦熟悉应用程序功能和行为后,您可以设计更多测试用例以验证应用程序功能并检测计划外的缺陷。 由于这是一种自由式测试方法,您不需要将所有内容文档化(ps:个人认为这里少了一个 not )。 但是,您需要维护笔记并简要报告您测试的内容,发现的错误和问题等。

Merits of Exploratory in Agile(敏捷探索的优点)

  • Proving feedback to the developers as soon as possible.尽快向开发人员提供反馈意见。
  • A broader variety of defects are uncovered.暴露了更多种类的缺陷。
  • A diverse group of a resource such as a developer, tester, BA, designers can perform ET as there are no scripted test cases and each brings a different perspective.由开发人员,测试人员,BA,设计人员组成的多样化资源组可以执行ET,因为没有脚本化的测试用例,每种角色人员能带来了不同的视角。
  • Scouting done in ET helps in exploring new territories and exposing critical bugs.在ET中进行的侦察有助于探索新领域并揭露关键错误。
  • In case of Iterative coding of an application, ET can focus on testing new features while automation does regression and backward compatibility testing.在对应用程序进行迭代编码的情况下,ET可以专注于测试新功能,而自动化则可以进行回归和向后兼容性测试。
  • In case of unstable requirement, ET can help in testing new requirement within a limited time.在需求不稳定的情况下,ET可以在有限的时间内帮助测试新的需求。

Points to Remember(要记住的点):

1. Requires different skills: The testers performing ET need to have good listening, reading, thinking and reporting skills. Domain experience is required as there are no scripts and test cases.需要不同的技能:执行ET的测试人员需要具备良好的倾听,阅读,思考和报告技能。 由于没有脚本和测试用例,因此需要领域经验。

2. Sometimes it’s difficult to report a bug: While in an ET flow, we may encounter a defect but we may not be able to reproduce it. This is because we are not tracking the testing steps and we may forget the exact steps to reproduce that issue.有时报告错误很困难:在ET流程中,我们可能会遇到缺陷,但我们可能无法重现它。 这是因为我们没有跟踪测试步骤,我们可能会忘记重现该问题的确切步骤。

3. Can be done as recreation activity: I personally do ET when I want a break from my regular test execution cycle. But many teams have ET as a separate phase of their testing cycle.可以作为娱乐活动完成:当我想要从常规测试执行周期中休息时,我个人会做ET。 但许多团队将ET作为其测试周期的一个独立阶段。

4. It can be done for all testing phases: We can implement ET before the beginning of any testing phase. You can perform ET even before functional testing phase.它可以在所有测试阶段完成:我们可以在任何测试阶段开始之前实施ET。 您甚至可以在功能测试阶段之前执行ET。

5. Rapid feedback: ET requires rapid feedback on the issues and any anomalies encountered.快速反馈:ET需要快速反馈问题和遇到的任何异常情况。

6. Critical Thinking and diverse ideas: This testing requires critical thinking. Testers should be able to reproduce, review and express their ideas in a logical way. A tester can implement her experience in the various technologies and domains they worked on.批判性思维和不同的想法:这种测试需要批判性思维。 测试人员应该能够以合理的方式复制,审查和表达他们的想法。 测试人员可以在他们所从事的各种技术和领域中实施自己的经验。

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/87901985