黑盒測試是指:系統後台會準備若干組輸入資料,然後讓提交的程式曲去執行這些資料,若輸出的結果與正確答案完全相同(字串意義上的比較),那麼就稱通過了這道題的黑盒測試,否則會根據錯誤型別而返回不同的結果。
根據黑盒測試是否對每組資料都單獨測試還是一次性測試所有資料,分為單點測試和多點測試。
單點測試
判斷每組資料的輸入結果是否正確
若正確,該組資料便通過了測試,,並獲得了這組資料的分值,也即題目的總得分是這些資料的分值之和
如下列**就是乙個單點測試
#includeint a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);
return 0;
多點測試
要求程式能一次性的執行所有的資料,並要求所有的輸出結果都必須完全正確,否則便是0分。
相比起單點測試,多點測試更能考驗做題人的**是否嚴謹。
因為多點測試要求一次性執行所有資料,所以要求核心**有辦法反覆執行,題目中一般會有三種輸入格式,所以需要採用不同的輸入方式。
1>.while…eof型題目未指定輸入的結束條件
預設讀到檔案末尾(對於黑盒測試來說,所有輸入資料都是放在乙個檔案裡的)
scanf函式雖然是乙個輸入函式,但是也有返回值型別,其返回值為輸入的個數,若輸入失敗則返回-1,(且c語言中使用eof來代表-1)
ps: eof(end of file)
則我們可以使用這種寫法
#includeint main()
return 0;
}
另外,在控制台輸入資料時,不會觸發eof狀態,因此可以通過(此時會顯示乙個^z)+來手動觸發
若輸入的是字串,
while(scanf("%s",&str))!=eof
while(gets(str)!=null)
2>.while…break型
要求當資料滿足某個條件時停止輸入,即加乙個if判斷
#includeint main()
return 0;
} //在while...eof內部進行迴圈
int main()
return 0;
} //直接在while中進行條件判斷,用逗號隔開
3>.while(t–)型
要求輸入多少組資料,可以輸入乙個t,通過t–來進行控制
int main()
return 0;
}
同樣的也有三種輸出方式
①正常輸出,即
printf("%d",a+b);
printf("%d\n",a+b);
printf("%d\t",a+b);
②每組資料後額外多加乙個空行
printf("%d\n\n",a+b);
③兩組資料之間有空行,最後一組資料後無空行
int t;..
.printf
("%d"
,a+b);if
(t>0)
printf
("\n"
);
測試基礎 黑盒測試
1.等價類劃分 等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的,並合理地假定 測試某等價類的代表值就等於對這一類其它值的測試,因此,可以把全部輸入資料合理劃分為若干等價類,在每乙個等價類中取乙個資料作為測試的輸入條件就可以用少量代表性的測試資料取得較好的測試結...
OJ測試 黑盒測試
黑盒測試是指 系統後台會準備若干組輸入資料,然後讓提交的程式去執行這些資料,如果輸出的結果與正確答案完全相同 字串意義上的比較 那麼就稱通過了這道題的黑盒測試,否則會根據錯誤型別而返回不同的結果。其中,根據黑盒測試是否對每組測試資料都單獨測試或是一次性測試所有測試資料,又可以分為單點測試和多點測試。...
軟體測試 黑盒測試
1.黑盒測試概述 黑盒測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程式看作乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能...