第一题
请使用基本路径覆盖法对被测源代码 Weightlifting 类中的 divide 方法设计单元测试用例,并在 WeightliftingTest 类中完成单元测试代码。
题目要求
- 请使用基本路径覆盖法设计 5 条测试用例,使被测代码的基本路径覆盖率达到 100% 。
- 请使用 Java 语言对应的单元测试框架 JUnit 编写测试代码。
- 测试代码请直接在提供的类文件 WeightliftingTest.java 中编写。
- 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert。
- 请不要修改所提供的文件名称,否则将会判 0 分。
题解
import org.junit.Assert;
import org.junit.Test;
public class WeightliftingTest {
Weightlifting weightlifting = new Weightlifting();
@Test
public void testManQualified() {
String result = weightlifting.divide("男", 55);
Assert.assertEquals("男子组", result);
}
@Test
public void testManNotQualified() {
String result = weightlifting.divide("男", 53);
Assert.assertEquals("无资格参赛", result);
}
@Test
public void testWomanQualified() {
String result = weightlifting.divide("女", 46);
Assert.assertEquals("女子组", result);
}
@Test
public void testWomanNotQualified() {
String result = weightlifting.divide("女", 45);
Assert.assertEquals("无资格参赛", result);
}
@Test
public void testGenderException() {
String result = weightlifting.divide("其他", 60);
Assert.assertEquals("性别异常", result);
}
}
其实非常简单,只要看到返回,再给他条件就行了
第二题
请使用基本路径覆盖法对被测源代码 NumberSort 类中的 sort 方法设计单元测试用例。并在 NumberSortTest 类中完成单元测试代码。
题目要求
- 请使用基本路径覆盖法设计 6 条测试用例,使被测代码的基本路径覆盖率达到 100% 。
- 请使用 Java 语言对应的单元测试框架 JUnit 编写测试代码。
- 测试代码请直接在提供的类文件 NumberSortTest.java 中编写。
- 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert。
- 请不要修改所提供的文件名称,否则将会判 0 分。
题解
java
import org.junit.Assert;
import org.junit.Test;
public class NumberSortTest {
NumberSort numberSort = new NumberSort();
@Test
public void testCase1() {
String result = numberSort.sort(3, 2, 1);
Assert.assertEquals("cba", result);
}
@Test
public void testCase2() {
String result = numberSort.sort(1, 2, 3);
Assert.assertEquals("abc", result);
}
@Test
public void testCase3() {
String result = numberSort.sort(2, 1, 3);
Assert.assertEquals("acb", result);
}
@Test
public void testCase4() {
String result = numberSort.sort(3, 1, 2);
Assert.assertEquals("bca", result);
}
@Test
public void testCase5() {
String result = numberSort.sort(1, 3, 2);
Assert.assertEquals("cab", result);
}
@Test
public void testCase6() {
String result = numberSort.sort(2, 3, 1);
Assert.assertEquals("bac", result);
}
}
一样和第一题差不多
第三题
请使用简单循环覆盖法的标准要求,对被测源代码 Utils 类中的 stringStyle 方法进行设计单元测试用例。并在 UtilsTest 类中完成单元测试代码。
题目要求
- 请使用简单循环覆盖法设计 6 条测试用例,使被测代码的判定循环覆盖率达到 100% 。
- 请使用 Java 语言对应的单元测试框架 JUnit 编写测试代码。
- 测试代码请直接在提供的类文件 UtilsTest.java 中编写。
- 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert。
- 请不要修改所提供的文件名称,否则将会判 0 分。
import org.junit.Assert;
import org.junit.Test;
public class UtilsTest {
@Test
public void testCase1() {
String result = Utils.stringStyle("aaaaaaaaaaa", 3, 12);
Assert.assertEquals("aaaaaaaaaaaa", result);
}
@Test
public void testCase2() {
String result = Utils.stringStyle("12345678910", 3, 12);
Assert.assertEquals("12345678910 ", result);
}
@Test
public void testCase3() {
String result = Utils.stringStyle("abcde", 3, 6);
Assert.assertEquals("字符串长度必须在3~6位", result);
}
@Test
public void testCase4() {
String result = Utils.stringStyle("abcdefg ", 3, 8);
Assert.assertEquals("abcdefg ", result);
}
@Test
public void testCase5() {
String result = Utils.stringStyle("hello world", 3, 12);
Assert.assertEquals("hello world", result);
}
@Test
public void testCase6() {
String result = Utils.stringStyle(" abc ", 3, 6);
Assert.assertEquals(" abc ", result);
}
}
这个题有点困难,考的是了解白盒测试的基本测试法,主要是循环的考法是跳过循环、循环 1 次、2 次,m 次(2<m<n-1)、n - 1 次、n 次、n + 1 次这些考法,只要记住这些方法,就可以迎刃而解了,下面是更详细的方法。
链接
软件测试循环语句覆盖法-CSDN博客
第四题
请使用基本路径覆盖法 + 简单循环覆盖法的标准规则,对被测源代码 Goods、GoodsService 类中的 shoppingCart 方法设计单元测试用例。并在 GoodsServiceTest 类中完成单元测试代码,Datas 类中提供了测试数据。
题目要求
- 请使用基本路径覆盖法 + 简单循环覆盖法设计测试用例,使被测代码的路径和循环覆盖率达到 100% 。
- 请使用 Java 语言对应的单元测试框架 JUnit 编写测试代码。
- 测试代码请直接在提供的类文件 GoodsServiceTest.java 中编写。
- 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert。
- 请不要修改所提供的文件名称,否则将会判 0 分。
package cn.lanqiao;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
* 1. 请使用简单循环覆盖法对被测源代码 Goods 和 GoodsService 类中的 shoppingCart 方法设计单元测试用例。
* 2. 请在下方 GoodsServiceTest 类中填写单元测试代码内容。
* 3. 请使用 Datas 类中提供的集合对象和商品对象的数据进行测试。
* 4. 在测试中用到的断言 Assert 类务必使用 org.junit 包中的 Assert 。
*/
public class GoodsServiceTest {
// 声明被测类
private GoodsService goodsService;
@Before
public void setUp(){
// 创建被测类实例
goodsService = new GoodsService();
}
@After
public void tearDown(){
// 释放被测类实例
goodsService = null;
}
@Test
public void testShoppingCart01(){
// TODO 请填写单元测试代码
Assert.assertEquals((goodsService.shoppingCart(Datas.list1,Datas.g1)).get(0) , Datas.g1);
}
@Test
public void testShoppingCart02(){
// TODO 请填写单元测试代码
Assert.assertEquals((goodsService.shoppingCart(Datas.list2,Datas.g10)).get(0) , Datas.g10);
}
@Test
public void testShoppingCart03(){
// TODO 请填写单元测试代码
Assert.assertEquals(goodsService.shoppingCart(Datas.list3, Datas.g10).get(9) , Datas.g10);
}
@Test
public void testShoppingCart04(){
// TODO 请填写单元测试代码
Assert.assertEquals(goodsService.shoppingCart(Datas.list3, Datas.g1).get(0).getQuantity() , 4);
}
@Test
public void testShoppingCart05(){
// TODO 请填写单元测试代码
Assert.assertEquals(goodsService.shoppingCart(Datas.list3, Datas.g2).get(1).getQuantity() , 4);
}
@Test
public void testShoppingCart06(){
// TODO 请填写单元测试代码
Assert.assertEquals(goodsService.shoppingCart(Datas.list3, Datas.g3).get(2).getQuantity() , 4);
}
@Test
public void testShoppingCart07(){
// TODO 请填写单元测试代码
Assert.assertEquals(goodsService.shoppingCart(Datas.list3, Datas.g9).get(8).getQuantity() , 4);
}
@Test
public void testShoppingCart08(){
// TODO 请填写单元测试代码
Assert.assertEquals(goodsService.shoppingCart(Datas.list3, Datas.g10).get(9).getQuantity() , 2);
}
}
这个题非常难,但是要求也是基本路径测试一样的需求,还是很容解决
版权归原作者 onforget 所有, 如有侵权,请联系我们删除。