第四周小組做業-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。

相關文章
相關標籤/搜索