码迷,mamicode.com
首页 > 其他好文 > 详细

第四次软测作业

时间:2018-04-09 00:30:35      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:system   exp   git   ted   规范   ref   class   测试用例   任务   

wcPro

github项目地址:

https://github.com/ChAnYaNG97/wcPro

PSP表格:

PSP2.1 PSP阶段 预计耗时(分钟) 实际耗时(分钟)
Planning 计划 30 30
.Estimate .估计这个任务需要多长时间 30 30
Development 开发 285 290
.Analysis .需求分析(包括学习新技术) 25 30
.Design Spec .生成设计文档 30 30
.Design Review .设计复审(和同事审核设计文档) 40 40
.Coding Standard .代码规范(为目前的开发制定合适的规范) 30 20
.Design .具体设计 50 60
.Coding .具体编码 60 50
.Code Review .代码复审 20 20
.Test .测试(自我修改,修改代码,提交修改) 30 40
Reporting 报告 120 110
.Test Report .测试报告 50 50
.Size Measurement .计算工作量 30 20
.Postmortem & Process Improvement Plan .事后总结,并提出过程改进计划 40 40
合计 435 430

接口实现

此次实验我负责其他模块(main函数)。实现代码如下:


import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args)
    {
        long st = System.nanoTime();
        if(args.length < 1)
        {
            System.err.println("Please set the file name.");
        }
        IOController controller = new IOController(args[0]);
        WordCounter wc = new WordCounter();
        String line;
        while((line = controller.readLine()) != null)
        {
            wc.countWord(line);
        }
        System.out.println(wc.countList.entrySet());
        controller.writeFile(wc.countList);
        System.out.println((System.nanoTime()-st) / 1e9);
    }
}

工作过程如下:

  1. 判断是否输入文件
  2. 对文件词数进行统计
  3. 输出程序运行时间

测试用例设计

白盒测试

技术分享图片

一共有三条路径:
A->B->C->G: "Please set the file name."

A->B->D->E->G:result.txt

A->B->D->F->G:case.txt

黑盒测试

@Test
    public void testCountWord1()
    {
        wc.countWord("this is a test a a a ");
        expected.put("this",1);
        expected.put("is",1);
        expected.put("a",4);
        expected.put("test",1);
        assertEquals(expected, wc.countList);
    }

    //test2:无连字符,带常见字符和数字
    @Test
    public void testCountWord2()
    {
        wc.countWord("this]]‘$‘is‘a123test");
        expected.put("this",1);
        expected.put("is",1);
        expected.put("a",1);
        expected.put("test",1);
        assertEquals(expected, wc.countList);
    }

    //test3:带连字符,无常见字符和数字
    @Test
    public void testCountWord3()
    {
        wc.countWord("this-is-a-test is is");
        expected.put("this-is-a-test",1);
        expected.put("is",2);
        assertEquals(expected, wc.countList);
    }

    //test4:带连字符且位于单词间,无常见字符和数字
    @Test
    public void testCountWord4()
    {
        wc.countWord("this is a test this-is-a-test");
        expected.put("this",1);
        expected.put("is",1);
        expected.put("a",1);
        expected.put("test",1);
        expected.put("this-is-a-test",1);
        assertEquals(expected, wc.countList);
    }

    //test5:带连字符且位于单词后,无常见字符和数字
    @Test
    public void testCountWord5()
    {
        wc.countWord("this-  is a-test");
        expected.put("this",1);
        expected.put("is",1);
        expected.put("a-test",1);
        assertEquals(expected, wc.countList);
    }

    //test6:带连字符且位于数字间,无常见字符
    @Test
    public void testCountWord6()
    {
        wc.countWord("this  is1-2 a-test");
        expected.put("this",1);
        expected.put("is",1);
        expected.put("a-test",1);
        assertEquals(expected, wc.countList);
    }

    //test7:带连字符,带常见字符和数字
    @Test
    public void testCountWord7()
    {
        wc.countWord("(see Box 3–2).8885d_c01_016");
        expected.put("see",1);
        expected.put("box",1);
        expected.put("d",1);
        expected.put("c",1);
        assertEquals(expected, wc.countList);
    }

    //test8:输入为空
    @Test
    public void testCountWord8()
    {
        wc.countWord("");
        assertEquals(expected, wc.countList);
    }

小组贡献

扩展任务

规范选择

选择《阿里巴巴Java开发手册》的规范对代码进行规范分析

检查结果

技术分享图片
技术分享图片

第四次软测作业

标签:system   exp   git   ted   规范   ref   class   测试用例   任务   

原文地址:https://www.cnblogs.com/Shi-Xing/p/8748086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!