2012-07-24 103 views
47

我在理解测试工具和相关的常见术语(如测试用例,自动化测试中的测试脚本)时遇到了一些困难。测试线束是什么?

所以这就是我到目前为止: 自动化测试是使用特殊的软件(除了被测试的软件)来控制测试的执行并将实际结果与预期结果进行比较。它还涉及建立测试前提条件。这种测试最适合经常进行的测试。

现在,我遇到了测试工具的一些问题。我读过它包含测试用例,输入文件,输出文件和测试脚本的测试套件。 现在我的问题是测试用例和测试脚本之间有什么区别?另外,您如何使用该软件测试AUT的不同功能?我还遇到了一些像套房大师和个案经纪人这样的术语。

+0

试想一下,当你想要全面测试你的项目时,它就是你的根。 – Pithikos 2015-06-11 23:45:40

回答

49

那里有几个广泛的问题,将根据我的经验尝试回答。一个Test Harness

想作为实际执行使用(2)测试库和(3)生成报告所述的(1)执行测试所有工作的“使能”。这将要求您的测试脚本设计为处理不同的(4)测试数据和(5)测试场景。从本质上讲,当测试工具已准备就绪并且准备好必备数据(又名数据准备)时,某人应该能够单击按钮或运行一个命令来执行所有测试并生成报告。

测试工具很可能是一组不同的东西,使所有上述事情发生。如果您在开发应用程序时编写单元测试,那将是测试工具的一部分。您还可以针对您的应用的功能进行其他测试,例如:用户登录到网站,查看收藏夹窗格,最近的消息和通知。然后,你添加一个“跑步者”,通过你所有的“测试脚本”,并运行它们(而不是你必须一次执行一个测试)。如果感觉就像一个测试工具更多的是一种概念上的集合,而不是一个单一的软件,那么你:-)

现在可以正确地理解这一点,我的问题是什么是测试用例和测试之间的区别脚本?

简单但不完全正确答案:甲测试用例定义测试目标,描述,前置条件,步骤(描述或具体的),预期的结果。 A 测试脚本然后将成为执行该测试的实际自动化脚本。这是在自动化环境中。它会改变。很多。

是什么样的ISTQB认证定义为测试场景通常被称为测试用例在一些公司和国家。在其他情况下,当提到手动测试时(当详细给出步骤但不是自动化线束的一部分时),测试用例会与测试脚本一起翻转。其他人则说测试脚本完全是指自动测试。另一方面,人们也可以争辩说,几个测试用例可以组合在一个测试脚本中,反之亦然。这样引出了一个问题,如何做一个测试过程合适吗? “

A test development阶段可以有:”测试程序,测试场景,测试用例,测试数据集,用于测试软件的测试脚本“。

如果您假设>(大于/收集)关系,那么您会如何联系这些关系?修辞的问题 - 即有所不同基于你在哪里工作,谁是你的客户端等最好的办法是与你的同事/客户的定义,并同意本条款的理解,而不是定义。我目前使用测试脚本=自动脚本,基于预先存在的手动测试用例或测试场景。

此外,您如何使用该软件测试AUT的不同功能?

您编写了不同的测试来测试不同的事情。每个测试都会执行某些操作并检查AUT的输出是否符合您的预期 - If displayed_value == expected_value。一个输入文件可以用来提供测试用户名和密码的测试 - 列表数据,例如。或运行具有不同的数据相同的测试 - 登录与不同的消息不同的用户等

看看RobotFrameworkSelenium。一个机器人框架测试(用文本或html文件编写)与Selenium库相结合,可以让您编写一个自动化测试,测试特定的内容......就像一个主页验证。你会写一个单独的测试来确保用户可以看到他/她的所有消息。另一个测试清除通知。等等。

+0

感谢您的解释! – coffeeak 2012-07-26 02:38:19

+0

我还在想,如果有的话,是测试工具和测试框架之间的区别。这是相同的工具“深度”? – Philm 2013-09-24 18:42:38

+0

测试框架不包括测试数据或场景 - 但是这是指'技术'框架,而不是我们可能在项目经理的PPT上显示的“框架”或方法:-)另外,如果使用像Jenkins这样的工具,我会说这是我的测试工具的一部分,但不是框架的一部分(同样,我指的是技术)。下面还有关于测试存根的答案,并且有趣的是,[ISTQB答案](http://istqbexamcertification.com/what-is-test-harness-unit-test-framework-tools-in-software-testing/)认为这些不同但分组在一起。 – aneroid 2013-09-26 07:50:33

12

测试工具:测试环境包含执行测试所需的存根和驱动程序。

将使用测试线束和存根来复制缺失项目(尚未包含在测试或外部系统中的组件)。 通常情况下,当执行多个模块或组件小型集成测试,有必要制定或即兴的方法和工具,以获得下测试的测试数据的组件。这通常被称为测试工具。由于需要了解构建测试工具所需的技术,因此该测试几乎总是由开发团队完成。

测试装具可以通过模拟测试对象将运行的环境来促进对组件或系统的一部分的测试。这可以是因为该环境的其他组件尚未公布和由存根和/或驱动器被替换,或仅仅以提供可预测和可控的环境中,任何故障可被测被定位到对象。这些通常是由开发人员为测试过程提供的定制程序。如果他们是在一个成熟的组织中使用的很可能是这些线束将被视为“测试资产”,并进行版本控制&配置管理。

+2

是的,这是根据ISTQB术语表 – 2012-08-12 06:05:03

+0

@ user1109363测试设备的定义如果不选择这个作为正确答案,您会有什么理由? – 2015-02-28 19:18:35

+0

你会认为robolectric是一个测试用具吗?因为它使用阴影对象 – j2emanue 2015-10-29 19:20:08

1

测试线束包含编译和运行测试所需的所有信息。这包括测试用例,测试中的源文件,存根和目标部署端口(TDP)配置设置。

0

测试工具是在单元,模块,应用程序或系统级别测试软件所需的所有项目的集合,并提供执行测试的机制。每个项目(例如输入数据,测试参数,测试用例,测试脚本,预期输出数据,测试工具和测试结果报告)都是测试工具的一部分。