我在理解测试工具和相关常用术语(如测试用例,自动化测试中的测试脚本)方面遇到了一些困难。
所以这就是我到目前为止所得到的: 自动化测试是使用特殊软件(测试软件除外)来控制测试的执行,并将实际结果与预期结果进行比较。它还涉及建立测试前提条件。这种测试最适合经常进行的测试。
现在,我遇到了测试工具的一些问题。我读到它包含一组测试用例,输入文件,输出文件和测试脚本。 现在我的问题是测试用例和测试脚本之间有什么区别?另外,您如何使用该软件测试AUT的不同功能?我还遇到了一些术语,如套件主和案例代理。
答案 0 :(得分:58)
那里有几个广泛的问题,将根据我的经验尝试回答。
将Test Harness视为“启动器”,实际上使用(2)测试库完成(1)执行测试的所有工作(3)生成报告。这需要您的测试脚本设计用于处理不同的(4)测试数据和(5)测试场景。基本上,当测试工具就位并且准备好先决条件数据(又名数据准备)时,某人应该能够单击按钮或运行一个命令来执行所有测试并生成报告。
测试工具很可能是使上述所有事情发生的不同事物的集合。如果您在开发应用程序时编写单元测试,那么这将是测试工具的一部分。您还可以对应用程序的功能进行其他测试,例如:用户登录到站点,查看收藏夹窗格,最近的消息和通知。然后你添加一个遍历所有“测试脚本”的“跑步者”并运行它们(而不是你必须一次执行一个测试) 。如果感觉测试工具更像是一个概念集合而不是单个软件,那么你就能正确理解它: - )
现在我的问题是测试用例和测试脚本有什么区别?
简单但不完全正确的答案:测试用例定义测试目标,描述,前提条件,步骤(描述性或特定性),预期结果。然后,测试脚本将是您执行该测试的实际自动脚本。这是在自动化上下文中。而且它改变了。很多。
在某些公司和国家/地区,ISTQB定义为测试方案的认证通常称为测试用例。在其他情况下,当参考手动测试时(在详细给出步骤但不是自动化工具的一部分时),测试用例会被测试脚本翻转。其他人说测试脚本专门意味着自动化测试。另一方面,人们也可以争辩说,几个测试用例可以组合在一个测试脚本中,反之亦然。所以这就引出了一个问题,测试程序如何适应?
test development阶段可以:“测试程序,测试场景,测试用例,测试数据集,测试软件中使用的测试脚本。”
如果您假设> (大于/收集)关系,你会如何联系那些?修辞问题 - 根据您的工作地点,客户是谁等等而有所不同。最好的方法是与您的同事/客户定义,同意理解术语而不是定义。我目前使用test script =自动脚本,基于预先存在的手动测试用例或测试场景。
另外,您如何使用该软件测试AUT的不同功能?
你编写不同的测试来测试不同的东西。每个测试都会执行某些操作,并检查AUT的输出是否符合您的预期 - If displayed_value == expected_value
。例如,输入文件可用于为测试用户名和密码的测试列表提供数据。或者使用不同的数据运行相同的测试 - 以具有不同消息的其他用户身份登录等。
查看RobotFramework和Selenium。机器人框架测试(用文本或html文件编写)与Selenium库结合使用,可以编写一个自动化测试,测试特定的东西...就像主页验证一样。您可以编写单独的测试以确保用户可以看到他/她的所有消息。另一个测试清除通知。等等。
答案 1 :(得分:13)
测试工具:由执行测试所需的存根和驱动程序组成的测试环境。
测试线束和存根将用于复制缺失的项目(测试或外部系统中尚未包含的组件)。 通常,当执行几个模块或组件的小规模集成测试时,有必要设计或即兴创建方法和工具以将测试数据提供给被测组件。这通常被称为测试工具。由于需要了解构建测试工具所需的技术细节,因此测试几乎总是由开发团队完成。
测试工具可以通过模拟测试对象将运行的环境来促进组件或系统的一部分的测试。这可以是因为该环境的其他组件尚未可用并且被存根和/或驱动程序替换,或者仅仅是为了提供可预测和可控制的环境,其中任何故障可以被定位到被测试的对象。这些通常是由开发人员生成的定制程序,以帮助测试过程。如果它们在成熟的组织中使用,则很可能将这些线束视为“测试资产”并受版本控制和版本控制。配置管理。
答案 2 :(得分:1)
测试工具包含编译和运行测试所需的所有信息。这包括测试用例,待测源文件,存根和目标部署端口(TDP)配置设置。
答案 3 :(得分:0)
测试工具是在单元,模块,应用程序或系统级别测试软件所需的所有项目的集合,并提供执行测试的机制。输入数据,测试参数,测试用例,测试脚本,预期输出数据,测试工具和测试结果报告等每个项目都是测试工具的一部分。