软件测试第四周作业WordCount优化
1.小組github地址:https://github.com/whoNamedCody
? ?小組成員:17048冷福星 ? 17050李慎綱 ?17039付佳韻 ?17040康之是
2.psp表格:
?
| PSP2.1 | PSP階段 | 預(yù)估耗時(shí) (分鐘) | 實(shí)際耗時(shí) (分鐘) |
| Planning | 計(jì)劃 | ?30 | ?20 |
| · Estimate | · 估計(jì)這個(gè)任務(wù)需要多少時(shí)間 | ?30 | ?20 |
| Development | 開發(fā) | ?245 | ?255 |
| · Analysis | · 需求分析 (包括學(xué)習(xí)新技術(shù)) | ?15 | ?20 |
| · Design Spec | · 生成設(shè)計(jì)文檔 | ?30 | ?30 |
| · Design Review | · 設(shè)計(jì)復(fù)審 (和同事審核設(shè)計(jì)文檔) | ?20 | ?15 |
| · Coding Standard | · 代碼規(guī)范 (為目前的開發(fā)制定合適的規(guī)范) | ?20 | ?20 |
| · Design | · 具體設(shè)計(jì) | ?20 | ?20 |
| · Coding | · 具體編碼 | ?60 | ?60 |
| · Code Review | · 代碼復(fù)審 | ?20 | ?20 |
| · Test | · 測(cè)試(自我測(cè)試,修改代碼,提交修改) | ?60 | ?70 |
| Reporting | 報(bào)告 | ?130 | ?120 |
| · Test Report | · 測(cè)試報(bào)告 | ?50 | ?50 |
| · Size Measurement | · 計(jì)算工作量 | ?30 | ?30 |
| · Postmortem & Process Improvement Plan | · 事后總結(jié), 并提出過(guò)程改進(jìn)計(jì)劃 | ?50 | ?40 |
| ? | 合計(jì) | ?405 | ?395 |
基本任務(wù):
(1)接口實(shí)現(xiàn):
本次小組作業(yè)中我負(fù)責(zé)的是輸入控制的模塊。和負(fù)責(zé)核心功能的同學(xué)商量后約定好我需要寫的輸入控制wcinput class中:input()函數(shù)讀取命令行參數(shù),在input()函數(shù)中進(jìn)行判斷,不符合要求的輸入會(huì)提示重新輸入并退出;符合要求的輸入會(huì)作為input()函數(shù)的返回值傳遞給核心模塊。
具體實(shí)現(xiàn)過(guò)程:
a.先判斷輸入命令行參數(shù)是否為空。
?b.再判斷命令行參數(shù)個(gè)數(shù)是否大于1(要求里只接收一個(gè)輸入文本)。
c.對(duì)命令行參數(shù)判斷完成后,判斷輸入?yún)?shù)是否符合形式規(guī)范(.txt).
d.對(duì)符合形式規(guī)范的輸入,判斷是否為存在的txt文件。
e.篩選得到的正確輸入作為作為返回值,返回給核心模塊
(2)測(cè)試用例設(shè)計(jì):
白盒測(cè)試:應(yīng)用對(duì)路徑的測(cè)試,程序中對(duì)輸入的命令行參數(shù)進(jìn)行了4次二分判定,圈復(fù)雜度為5
測(cè)試用例設(shè)計(jì)分類為:
? a.1-2-10
? b.1-3-4-10
? c.1-3-5-6-10
? d.1-3-5-7-8-10
? e.1-3-5-7-9-10
覆蓋了input()方法中所有的路徑。
?
黑盒測(cè)試:使用劃分等價(jià)類和邊界測(cè)試的方法。
(1)有效等價(jià)類:命令行參數(shù)為xxx.txt,且該txt文件確實(shí)存在
(2)無(wú)效等價(jià)類:輸入的命令行參數(shù)為空;輸入命令行參數(shù)內(nèi)容為空(多個(gè)空);輸入多個(gè)文件;輸入無(wú)效非txt文件;輸入不存在的txt文件;
(3)邊界測(cè)試:對(duì)參數(shù)個(gè)數(shù)進(jìn)行邊界值判定,對(duì)參數(shù)內(nèi)容進(jìn)行邊界判定
(3)單元測(cè)試
?
測(cè)試質(zhì)量: ?單元測(cè)試覆蓋了程序的所有路徑,對(duì)白盒測(cè)試和黑盒測(cè)試的幾類測(cè)試用例都基本實(shí)現(xiàn)了覆蓋,每個(gè)等價(jià)類中典型測(cè)試用例選擇了2到3個(gè) 。
被測(cè)模塊質(zhì)量:被測(cè)模塊基本可以應(yīng)對(duì)各種正確與非正確輸入,單元測(cè)試中輸入字符串為{}空時(shí),顯示為“未輸入?yún)?shù)”;輸入字符串為{“”}時(shí),顯示為“未輸入.txt”,該單元測(cè)試顯示為失敗。實(shí)際上進(jìn)行命令行輸入時(shí),只會(huì)出現(xiàn)args數(shù)組內(nèi)容為空的情況,或者出現(xiàn)內(nèi)容為多個(gè)“ ”的情況,都能被正確判斷輸出,因此被測(cè)模塊質(zhì)量滿足要求。
?
?
擴(kuò)展任務(wù):
(1)代碼規(guī)范:代碼規(guī)范與復(fù)審(精簡(jiǎn)版)現(xiàn)代軟件工程講義 3 代碼規(guī)范與代碼復(fù)審
選擇部分:代碼風(fēng)格規(guī)范,代碼設(shè)計(jì)規(guī)范中的函數(shù)和錯(cuò)誤處理
(2)規(guī)范分析:分析了17048的代碼
對(duì)項(xiàng)目中各模塊的靜態(tài)分析見(3)
不足之處:代碼中定義了兩個(gè)沒(méi)有無(wú)用變量;對(duì){}的使用沒(méi)有另起一行,使得結(jié)構(gòu)清晰標(biāo)準(zhǔn);
好的規(guī)范:寫了詳盡的注釋,并且注釋為英文,格式統(tǒng)一,長(zhǎng)注釋在前一行開頭,變量短注釋在定義后;
?變量命名遵循規(guī)范,具有一定的實(shí)際意義,便于區(qū)分;
?變量統(tǒng)一在方法前集中聲明,說(shuō)明變量含義;
?函數(shù)方法設(shè)計(jì)分工合理;
?對(duì)可預(yù)料的各種錯(cuò)誤輸入和異常情況進(jìn)行處理;
(3)選擇靜態(tài)檢查工具:findbugs http://downloads.sourceforge.net/project/findbugs/findbugs%20eclipse%20plugin/1.3.9/edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip?use_mirror=ncu
?
findbugs檢查輸入模塊(input)沒(méi)有發(fā)現(xiàn)問(wèn)題;
代碼規(guī)范上不足之處:{}的使用與小組其他成員不統(tǒng)一;注釋沒(méi)有使用英文注釋,平臺(tái)移植時(shí)可能出現(xiàn)問(wèn)題;缺乏統(tǒng)一的變量說(shuō)明注釋
規(guī)范之處:變量命名遵循規(guī)范,有實(shí)際意義;對(duì)各種錯(cuò)誤輸入有所處理,容錯(cuò)性提高;函數(shù)方法設(shè)計(jì)合理
(4)小組問(wèn)題:小組成員各模塊函數(shù)和類的命名不夠統(tǒng)一(已改進(jìn));代碼風(fēng)格不統(tǒng)一(以改進(jìn));整合后部分變量和說(shuō)明有冗余(已改進(jìn));銜接后部分異常處理重合(已改進(jìn))
?
?
高級(jí)任務(wù):
(1)測(cè)試數(shù)據(jù)集設(shè)計(jì)思路:a.有140個(gè)以上需要根據(jù)詞頻排序的單詞
b.每種類型的單詞出現(xiàn)20個(gè)以上:純單詞如software;連字符單詞如content-based;單引號(hào)單詞如Let’s;帶短橫線的單詞如moon-;帶雙引號(hào)的單詞如“aaa;帶數(shù)字、常用字符和單詞的情況如(see Box 3–2).8885d_c01_016;帶數(shù)字的單詞如bbb-2;
c.5個(gè)以上統(tǒng)一單詞的大小寫形式,如apple和APPLE
d.5個(gè)以上詞頻相同的不同單詞排序,如:apple 5
camera 5
demo 5
yellow 5
zero 5
(2)優(yōu)化前:統(tǒng)計(jì)從main函數(shù)開始運(yùn)行到統(tǒng)計(jì)輸出完成的時(shí)間(單位毫秒)
(3)同行評(píng)審:
參加者:小組成員:康之是,冷福星,李慎剛,付佳韻
主持,記錄:康之是
評(píng)審者:李慎剛,付佳韻
開發(fā)者,代碼講解:冷福星
評(píng)審對(duì)象:核心模塊(kernel)
評(píng)審過(guò)程:開發(fā)者講解代碼邏輯,函數(shù)功能等;
開發(fā)者運(yùn)行程序,測(cè)試壓力txt文件,反復(fù)多次,得到平均運(yùn)行時(shí)間;
評(píng)審者提出意見,開發(fā)者回答;
達(dá)成共識(shí),進(jìn)行改進(jìn)
提出意見:核心功能中先進(jìn)行大小寫轉(zhuǎn)換再進(jìn)行判斷,并且更改對(duì)單詞的判斷方法函數(shù),采用正則表達(dá)式進(jìn)行詞法分析。
(4)優(yōu)化后:
改用正則詞法進(jìn)行單詞判斷,并且先進(jìn)行了大小寫的轉(zhuǎn)換
?
(4)影響性能的主要因素是核心功能中對(duì)單詞的判斷步驟,判斷語(yǔ)句的多少和嵌套的重?cái)?shù)
(5)感悟:通過(guò)本次實(shí)踐,以及完成基礎(chǔ)任務(wù),擴(kuò)展任務(wù)以及高級(jí)任務(wù),我認(rèn)識(shí)到軟件開發(fā)要達(dá)到預(yù)期的要求,提升質(zhì)量離不開對(duì)于軟件的測(cè)試。開發(fā)過(guò)程就像依據(jù)需求的圖紙?jiān)诮ㄒ粭澐孔拥幕A(chǔ)輪廓,能完成大致的形狀與功能;而搭好輪廓以后,需要進(jìn)行測(cè)試檢查房子的承重,細(xì)節(jié)處是否存在偏差等。測(cè)試的過(guò)程中慢慢暴露基礎(chǔ)輪廓的各種缺陷,再進(jìn)行調(diào)整與修改,經(jīng)過(guò)多次自己的,他人的評(píng)審與測(cè)試,多次的修改,最終使得軟件質(zhì)量達(dá)標(biāo)。
?
? ? ? ? 小組貢獻(xiàn)度25%
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/fujiayuntest/p/8710985.html
總結(jié)
以上是生活随笔為你收集整理的软件测试第四周作业WordCount优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 机器学习/深度学习 问题总结及解答
- 下一篇: error LNK2038: 检测到“R