什么是测试脚本?

时间:2017-02-28 20:19:45

标签: java testing

我获得了一项任务:

  

考虑单个数字的列表。例如,[2,2,5]。   考虑这些列表的继承者。

     
      
  • [2,2,5]的继任者是[2,2,6]
  •   
  • [2,3,9,9]的继任者是[2,4,0,0]
  •   
  • [9,9,9,9]的继任者是[1,0,0,0,0]
  •   
     

编写一个Java程序,将这样的数字列表作为输入和   返回其继任者。您不能将此列表表示为小数   编号和计算其后继者,因为数字可能太大而不是   发生溢出。让你的程序尽可能短。

     

使用Java提交代码以及编译说明和测试脚本。

我编写了程序并编译并成功运行。该程序完全符合任务要求。但是,我不确定教师对测试脚本的意义。有人请解释并提供一个例子吗?

注意:如果您决定对该问题进行投票,请提供一个理由,以便我可以编辑我的问题。

2 个答案:

答案 0 :(得分:3)

查找Junit。教授希望您创建一个测试特定场景的测试类。像这样:

@Test
public void testSuccesor() {
   int[] start = {2,2,5};
   int[] expected = {2,2,6};

   int[] actual = callSuccesorMethod(start);

   assertArrayEquals(expected, actual);
}

如果预期值与实际值不匹配,测试将失败。单元测试是验证代码的好方法。它还有助于未来的开发,当您更改代码时,您可以重新运行测试以验证您没有破坏任何内容。

同时查看TDD,这是一种您可能感兴趣的编程风格。

答案 1 :(得分:0)

测试脚本是一个运行代码的程序(称为" 系统正在测试"或者只是" SUT & #34;)以可预测的方式,并验证其行为对于给定的输入是否正确。测试可能与SUT使用相同的语言,但使用不同的语言非常常见,因为您对性能,易于修改,可读性和稳健性有不同的要求。

例如,在您的情况下,简单的shell脚本就足够了:

#!/bin/bash
set -e # important, so the script fails if any single command fails

test '2,2,6' = $(./successor '2,2,5')
test '2,4,0,0' = $(./successor '2,3,9,9')
# Add any more tests you think you should have

如果您的编译说明以Makefile的形式呈现,您也可以从那里运行测试。调用目标test是一个常见的约定,因此make test将编译您的程序并运行其测试。