实验内容
l 针对Lab4评审和优化过的程序,设计白盒测试用例;
l 针对Lab1中包含的需求,设计黑盒测试用例;
l 在jUnit环境下撰写测试代码并执行测试;
l 私用Infinitest进行持续测试;
l 使用EclEmma统计测试的覆盖度;
l 让自己的GitHub项目具备持续集成的能力(Travis CI)
实验心得
(1) “编写测试代码”指的是在刚编写完程序或者程序的某一个单元时,通过编写代码、使用软件的方式,来测试程序或者其中某一单元的性能。而“编写代码”则是一个更加宽泛的概念,作为一个程序员,我们需要编写的代码种类会有很多,测试代码只是其中之一,还有诸如实现程序功能的代码等。可以说,因为“代码”中包含了“测试代码”,所以“编写代码”包含了“编写测试代码”。
(2) “设计测试用例”是指我们针对被测试的代码段或程序,设计出的一系列方案,尽可能的通过少量有代表性的输入数据,来模拟现实中的所有输入种类,然后通过比较实际输出和期望输出,来评判程序是否符合要求。而“编写测试代码”就是把我们所设计的测试用例,用代码的形式表现出来,以便使用JUnit等工具进行更加专业的代码测试。可以说,“设计测试用例”是我们关于如何测试程序的想法,而“编写测试代码”就是把我们的想法翻译成能被测试工具识别的语言。
(3) 黑盒方法中,我们并不关心具体的代码,因此我们设计的测试用例仅仅依靠于我们事先划分好的测试等价类,我们尽可能的让我们的测试用例覆盖所有的测试等价类。对于每一个等价类而言,我们往往只选取少量具有代表性的测试用例,但是可能在某一些等价类内部,不同的输入在程序内的运行方式可以大相径庭ÿ