2017-02-28 79 views
-3

我被赋予了作业:什么是测试脚本?

考虑一个单个数字的列表。例如,[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提交代码以及编译指令和测试脚本。

我编写了程序并编译并成功运行。该程序完全符合作业的要求。但是,我不确定测试脚本是什么意思。请有人解释并提供一个例子,它是什么?

注意:如果您决定倒推问题,请提供一个理由以便我可以编辑我的问题。

+1

可能要求进行单元测试。 HTTP://计算器。com/questions/8751553/how-to-write-a-unit-test基本上,用示例输入创建一个测试,并声明输出与您承诺的完全相同。 – Compass

+3

为什么不问你的老师他们的意思? – resueman

+0

已经通过电子邮件发送给他,但他没有回复。 –

回答

2

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

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

    int[] actual = callSuccesorMethod(start); 

    assertArrayEquals(expected, actual); 
} 

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

退房TDD以及它可能会让您感兴趣的编程风格。

+0

谢谢。这是我需要的。 –

+0

我喜欢你的答案,我喜欢测试,所以我upvoted,但我认为这个脚本等于junit是纯粹的猜测在你身边:-) – GhostCat

+0

@KaneBilliot GhostCat带来了一个很好的观点,请与你的教授核对Junit是否很好开始分配任务。 –

0

的测试脚本是锻炼你的代码的程序(“被测系统”之称的或简称为“SUT”)以可预测的方式,并验证其行为是对于给定输入正确的。测试可能与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将编译您的程序并运行其测试。