⿊盒测试技术—三⾓形问题实验报告⼀、问题描述
输⼊三个整数a、b、c,分别作为三⾓形的三条边,通过程序判断这三条边是否能构成三⾓形?如果能构成三⾓形,则判断三⾓形的类型并输出(等边三⾓形、等腰三⾓形、⼀般三⾓形),如果不构成三⾓形输出不能构成三⾓形。要求:
(1)输⼊三个整数a、b、c,必须满⾜以下条件:1≤a≤200;1≤b≤200;1≤c≤200。(2)容错处理:输⼊空值的提⽰;输⼊的值满⾜类型的提⽰;(3)不限制开发环境,不限制开发语⾔;(4)尽可能不对⾃⼰的程序进⾏测试设计。
(5)请分别采⽤边界值分析法、等价类分析法、决策表分析法、基于场景分析法设计测试⽤例;(6)正⽂格式(除源代码⽤⼩五号单倍⾏距),其他⾏距固定值20,字号⼩四。⼆、程序主要源代码using System;
using System.Collections.Generic;
using http://www.doczj.com/doc/165ec8a4a517866fb84ae45c3b3567ec112ddc14.html ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;
using System.Windows.Forms;namespace software_test{
public partial class FrmTest : Form{
public FrmTest(){
InitializeComponent();}
private void btnOk_Click(object sender, EventArgs e){
string numbera = \"a\";string numberb = \"b\";string numberc = \"c\";
String txta = txtA.Text;String txtb = txtB.Text;String txtc = txtC.Text;//输⼊值是否正确的判断judgeInput(txta, numbera);judgeInput(txtb, numberb);judgeInput(txtc, numberc);//组成三⾓形的判断
judgeTriangle(txta, txtb, txtc);}
//判断输⼊是否为a数字的⽅法且是否有效private void judgeInput(String e,String X){int x;
if (!int.TryParse(e,out x)) {
String message = String.Format(\"{0}输⼊必须为整数!\MessageBox.Show(message);}
else if (!(int.Parse(e) >= 1 && int.Parse(e) <= 200)){
String message = String.Format(\"{0}输⼊必须为1到200!\MessageBox.Show(message);}}
//判断能否组成三⾓形,或者组成为等腰,等边,还是普通三⾓形public void judgeTriangle(String x, String y, String z) {int b1=int.Parse(x);int b2=int.Parse(y);int b3=int.Parse(z);
if (!(b1 + b2 > b3 && b1 + b3 > b2 && b2 + b3 > b1)){
MessageBox.Show(\"不能组成三⾓形\");}
else if (b1 == b2 && b2 == b3){
MessageBox.Show(\"能组成等边三⾓形\");}
else if (b1 == b2 || b2 == b3 || b1 == b3){
MessageBox.Show(\"能组成等腰三⾓形\");}else {
MessageBox.Show(\"能组成普通三⾓形\");}}}}
三、程序界⾯(截图)
四、设计测试⽤例
1. ⽤边界值测试⽅法设计测试⽤例
⽤边界值分析法设计测试⽤例,按照下列步骤进⾏:(1)分析各变量取值答:a取0,1,2,199,200,201;b取0,1,2,199,200,201;c取0,1,2,199,200,201(2)测试⽤例数答:18个
(3)设计测试⽤例(给出所有测试⽤例)三⾓形问题的测试⽤例
2. ⽤等价类测试⽅法设计测试⽤例
(1)⾸先分析题⽬中给出的条件和隐含的输⼊要求,输⼊条件如下:
答:1<=a<=200;1<=b<=200;1<=c<=200;⼀般三⾓形:(a+b)>c&&(a+c)>b&& (b+c)>a;等腰三⾓形:b=c||a=c||a=b;(2)根据输⼊条件的要求划分等价类,列出等价类表并编号
(3) 设计测试⽤例,覆盖上表中的等价类,如表1-3表所⽰。(⾄少20条)表1-3三⾓形问题的测试⽤例
3.⽤决策表测试⽅法设计测试⽤例(1)构建决策表
输⼊去:
C1:a,b,c 构成三⾓形? C2:a=b?C3:a=c?C4:b=c?输出区:A1:⾮三⾓形A2:⼀般三⾓形A3:等腰三⾓形A4:等边三⾓形
C2:a=b?F
F F F F T T T TC3:a=c?F
F F T T F F T TC4:b=c?
F
F T F T F T F TA1:⾮三⾓形√
A2:⼀般三⾓形√
A3:等腰三⾓形√√√A4:等边三⾓形
√A5:⽆法满⾜条件√√√
(3)化简后的测试⽤例设计测试⽤例编号输⼊数据
预期输出覆盖等价类测试结果a b c
1505050等边三⾓形1,2,3,4,5,6,17等边三⾓形2505051等腰三⾓形1,2,3,4,5,6,13等腰三⾓形3515050等腰三⾓形1,2,3,4,5,6,15等腰三⾓形4505150等腰三⾓形1,2,3,4,5,6,14等腰三⾓形5123不是三⾓形12不是三⾓形6132不是三⾓形11不是三⾓形7321不是三⾓形10不是三⾓形8234⼀般三⾓形1,2,3,4,5,6⼀般三⾓形9324⼀般三⾓形1,2,3,4,5,6⼀般三⾓形10432⼀般三⾓形1,2,3,4,5,6⼀般三⾓形4.基于场景的测试(1)基本流和备选流图开始输⼊abc(2)场景设计场景1:基本流
场景2:基本流+备选流1 场景3:基本流+备选流2 场景4:基本流+备选流3 场景5:基本流+备选流4
5.测试结果分析与总结(⾄少150字,对测试过程中失败⽤例的原因进⾏分析,对学习了⿊盒测试技术的学习总结)
答:⿊盒测试技术是我们常使⽤的软件测试的⽅法,在测试中,我们需要将边界值测试,等价类测试,决策表测试,基于场景测试联合使⽤。任何⼀款软件都不可能做到完全测试,所以我们需要做的就是将⿊盒测试中的⽅法尽可能结合使⽤,争取让软件少⼀些缺陷。能够更好的为⽤户服务,尽量给⽤户带来更好的体验。
因篇幅问题不能全部显示,请点此查看更多更全内容