第四周小组做业-wordcountpro

一.小组Github 地址java

 https://github.com/ChenSilence/wcProgit

二.PSP表格github

 

PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 60
Estimate 估计任务须要多少时间 30 60
Development 开发 180 240
Analysis 需求分析 20 30
Design Spec 生成设计文档 20 30
Design Review 设计复审 20 30
Coding Standard 代码规范 30 10
Design 具体设计 30 50
Coding 具体编码 30 40
Code Review 代码复审 30 40
Test 测试 50 10
Reporting 报告 90 240
Test Report 测试报告 30 120
Size Measurement 计算工做量 20 60
Postmortem 总结 20 80
  合计 360 560

 三.模块编写sql

  本次小组做业我所负责的模块是输入控制,基本上与上一次做业的输入控制差很少,只是多了一个只能读txt文本文件的判断,所以个人就考虑了比较多的判断分支状况。我所编写的只有一个Begin类,功能便是分析main函数中的args数组参数,判断参数正确以后,将参数传给下一个模块,代码以下:数组

 

package javatest;

import java.util.Scanner;
import java.lang.String;
public class Begin {


    public static void main(String[] args)  {
         //解析args数组中的参数
             int i=0;
             if (args.length == 0) {                           //提示未输入参数
               System.out.println("请输入参数");
               return;  
               }else if (args.length==1){
                    String name =args[0];                //args数组中的最后一个参数为读取文件
                    boolean doo=args[0].contains(".");
                    if(doo){
                  String[] mode=name.split("\\.");     //将文件名在"."处分裂开并存入mod数组中,判断文件格式
                  if (mode[1].equals("txt")){
                   System.out.printf("everything is right!");
                    
                    new CountNumber().count(name);
               
              }else{
                  System.out.printf("文件格式不对,请从新输入!");
                  
                      }
                    }else {
                        System.out.printf("请输入正确文件名!");
                       
                       } 
               }else{
                   System.out.printf("请输入正确文件名");
                   
                   
               }

       }

}

 

 

 

四.测试模块设计
  由于个人输入控制模块中只有一个main函数,不存在其余的方法,所以设计测试时,我改了一部分个人相应代码,为了能在Junit框架中使用assertEquals函数判断是否运行正确,改了以后的代码以下:框架

package word;

import java.util.Scanner;
import java.lang.String;
public class Begin {

     static String[] str = new String [8];
    public static void main(String[] args)  {
         //解析args数组中的参数
             int i=0;
             if (args.length == 0) {                           //提示未输入参数
               //System.out.println("请输入参数");
               str[i]=("请输入参数");
               return;  
               }else if (args.length==1){
                    String name =args[0];                //args数组中的最后一个参数为读取文件
                    boolean doo=args[0].contains(".");
                    if(doo){
                  String[] mode=name.split("\\.");     //将文件名在"."处分裂开并存入mod数组中,判断文件格式
                  if (mode[1].equals("txt")){
                   System.out.printf("everything is right!");
                     str[i]=("everything is right!");
                     //new CountNumber().count(name);
                
              }else{
                  //System.out.printf("文件格式不对,请从新输入!");
                  str[i]=("文件格式不对,请从新输入!");
                      }
                    }else {
                        //System.out.printf("请输入正确文件名!");
                       str[i]=("请输入正确文件名!");
                       } 
               }else{
                  // System.out.printf("请输入正确文件名");
                   str[i]=("请输入正确文件名");
                   
               }

       }
     public static String[] getOutput() {
         return str; 
    }
}

  根据黑盒白盒测试设计的测试表格以下:eclipse

 

Test   Case ID 测试用例编号 Test Item 测试项(即功能模块或函数) Test Case Title   测试用例标题 Test   Criticality重要级别 Pre-condition 预置条件 Input 输入 Procedure 操做步骤 Output 预期结果 Result
    实际结果
Status
    是否经过
Remark 备注(在此描述使用的测试方法)
1 输入控制 testread1 Medium text.txt 运行Junit函数 everything   is right! everything   is right! OK 黑盒测试
2 输入控制 testread2 Medium text.tt 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 白盒测试
3 输入控制 testread3 Medium texttxt 运行Junit函数 请输入正确文件名! 请输入正确文件名! OK 白盒测试
4 输入控制 testread4 Medium text.cpp 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
5 输入控制 testread5 Medium test.txt   text2.txt 运行Junit函数 请输入正确文件名 请输入正确文件名 OK 白盒测试
6 输入控制 testread6 Medium 空输入 运行Junit函数 请输入参数 请输入参数 OK 白盒测试
7 输入控制 testread7 Medium abc.c.txt 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 白盒测试
8 输入控制 testread8 Medium asdhaiudhiwahidwahiawuhdawiuhdw.txt 运行Junit函数 everything   is right! everything   is right! OK 黑盒测试
9 输入控制 testread9 Medium text.doc 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
10 输入控制 testread10 Medium txt.txt 运行Junit函数 everything   is right! everything   is right! OK 白盒测试
11 输入控制 testread11 Medium ....c 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 白盒测试
12 输入控制 testread12 Medium 空格符 运行Junit函数 请输入正确文件名! 请输入正确文件名! OK 黑盒测试
13 输入控制 testread13 Medium text.java 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
14 输入控制 testread14 Medium text.sql 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
15 输入控制 testread15 Medium text.word 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
16 输入控制 testread16 Medium text.png 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
17 输入控制 testread17 Medium text.py 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
18 输入控制 testread18 Medium text.jpg 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
19 输入控制 testread19 Medium text.gif 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试
20 输入控制 testread20 Medium text.exe 运行Junit函数 文件格式不对,请从新输入! 文件格式不对,请从新输入! OK 黑盒测试

 

相应的测试脚本运行结果以下:函数

 

五.扩展任务性能

1.交叉互评测试

  咱们小组所用开发规范参考了阿里巴巴的JAVA风格指南手册。我评审的是组员17001代码,他的代码符合缩进、断行风格整洁,命名简单明了,逻辑清晰易读,较好地遵照了设计规范。这里我就不在放出他的代码了,可在文首的小组github中查找。

2.静态测试

  本次的静态测试是采用eclipse的checkstyle来进行扫描的,对个人代码扫描以后主要发现如下三个问题:

  1)代码缩进问题较多

  2)注释较少

  3)“{”前差空格,“}”后差空格

  在改进这些问题的过程当中也慢慢提升了我对代码规范的理解程度,之后也能提升个人代码整洁度。参考连接:

https://blog.csdn.net/maritimesun/article/details/7668718

六.高级任务

  在最后检测个人代码性能过程当中,因为个人代码自己就不是特别复杂,所以优化过程当中也没有较多地方可供优化,我减小了一部分多余的分支判断,也提升了必定的运行速度。改后的代码也可在小组github中查看。

七.小组贡献分

  在本次做业中,个人工做量较少,所以小组贡献分评价为0.2。

相关文章
相关标签/搜索