闽江学院2015-2016学年下学期《软件测试》课程-第三次博客作业
閩江學(xué)院2015-2016學(xué)年下學(xué)期《軟件測(cè)試》課程-第三次博客作業(yè)
作業(yè)提交班級(jí):13軟金2班全體同學(xué)
作業(yè)提交截止日期:2016年4月30日24:00前(超過(guò)截止時(shí)間提交的不給成績(jī))
?
1、 ?某網(wǎng)站管理系統(tǒng),用戶注冊(cè)時(shí),電話號(hào)碼為可選輸入項(xiàng),輸入格式為:區(qū)號(hào)-電話號(hào)碼—分機(jī)號(hào),中間用“-”隔開(kāi)。以下為jsp頁(yè)面上的設(shè)計(jì),且并未對(duì)輸入做任何控制。
?
系統(tǒng)現(xiàn)在需要取出中間的電話號(hào)碼部分,代碼如下:
?
/**
???? *
???? * 該方法根據(jù)用戶輸入取出中間的電話號(hào)碼部分
???? * @param strPhoneNum? 電話號(hào)碼,如:“0591-83279988—002”
???? * @return? 返回號(hào)碼部分,如:“83279988”
???? */
??? public String getPhoneNumber(String strPhoneNum){
??????? if((strPhoneNum==null) || "".equals(strPhoneNum)){
??????????? return "";
??????? }
??????? String[] arrPhone=strPhoneNum.split("-");
??????? return arrPhone[1];
??? }
?
請(qǐng)用你學(xué)過(guò)的測(cè)試技術(shù)和方法,找出該方法中存在的問(wèn)題,并且分析出現(xiàn)該問(wèn)題的原因,同時(shí)給出你的解決方案。(提示:存在的問(wèn)題不止一個(gè))
要求:
(1) 寫出問(wèn)題所在
(2) 寫出問(wèn)題產(chǎn)生的原因
(3) 給出修改后的代碼
?
2、? 請(qǐng)寫一段用于整型數(shù)組排序的代碼,說(shuō)明你的設(shè)計(jì)思路,并利用錯(cuò)誤推測(cè)法給出可能出錯(cuò)的情況(至少5種),設(shè)計(jì)出測(cè)試用例,并利用JUnit編寫單元測(cè)試進(jìn)行測(cè)試。(假設(shè)傳入的參數(shù)已經(jīng)確定為整型數(shù)組)
要求:
(1) 寫出代碼,并符合代碼規(guī)范(命名要規(guī)范,不可直接寫在main方法中,需要有類注釋、方法注釋、以及適當(dāng)?shù)男凶⑨?#xff09;
(2) 說(shuō)明你的設(shè)計(jì)思路
(3) 寫出可能出錯(cuò)的情況(至少五種)
(4) 編寫JUnit單元測(cè)試,將前面給出的可能出錯(cuò)的測(cè)試數(shù)據(jù)放入單元測(cè)試進(jìn)行測(cè)試
答:
1.
(1). (1)問(wèn)題:沒(méi)有限制可輸入的號(hào)碼的長(zhǎng)度,沒(méi)有判斷輸入的是否是數(shù)字還是字符串,沒(méi)有判斷是否為空
?? ?(2)條件不充分
(3)
public String getPhoneNumber(String strPhoneNum){
if((strPhoneNum==null) || "".equals(strPhoneNum)){
? ? ?if(strPhoneNum.lenth==8 && !Pattern.compile("^\\d{8}$").matcher(phoneNumber.trim?
? ?()).matches())){
? ? ? ? ? ?return "true";
}
}else{
return "false";
System.out.println("你輸入的號(hào)碼格式不正確!!!");
}
String[] arrPhone=strPhoneNum.split("-");
return arrPhone[1];
}
2.
(1).
package cn.zhuang;
?
public class test{
/**
?* 簡(jiǎn)單排序
?* @author 莊少卿
?*/
public static int[] px (int[] a){
?????????
????? int j;
????? int temp;
????? for( int i=0;i<a.length-1;i++){?
??????????? for( j=i+1;j<a.length;j++){??????????
??????????????? if (a[i]>a[j]){?
??????????????????? temp=a[i];?
??????????????????? a[i]=a[j];?
??????????????????? a[j]=temp;?
??????????????????? }?
???????? }
?????? }
for(int i:a){ //將x的值賦值給i后輸出
?? System.out.println(i + "");
}
???? ??return a;
??? }
}
??? public static void main(String[] args) {
??????? // TODO Auto-generated method stub
??????? int[] i={1,2,3,5,7};
??????? System.out.println("排序的結(jié)果為:");
? ? ? ? test(i);? //調(diào)用排序方法
??????? System.out.println();
?
??? }
(2)設(shè)計(jì)思路:采用簡(jiǎn)單排序算法,從小到大排序
?
(3)a.輸入的值已經(jīng)已經(jīng)排序好了
?
b.數(shù)組中的部分或全部元素相同時(shí):
c.數(shù)組沒(méi)有數(shù)字
d.數(shù)組數(shù)字0開(kāi)頭
e.數(shù)組各個(gè)數(shù)字由一個(gè)數(shù)字組成且有負(fù)數(shù)
?
轉(zhuǎn)載于:https://www.cnblogs.com/123zsq/p/5575734.html
總結(jié)
以上是生活随笔為你收集整理的闽江学院2015-2016学年下学期《软件测试》课程-第三次博客作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: smarty应用
- 下一篇: ADO.NET封装的SqlHelper