测试设计判断三角形类型问题_第1页
测试设计判断三角形类型问题_第2页
测试设计判断三角形类型问题_第3页
测试设计判断三角形类型问题_第4页
测试设计判断三角形类型问题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、判断三角形类型问题测试设计一、 需求分析1、本程序用于判断三角形的类型。2、程序的输入:三角形的三边由手工输入,再进行判断;需要注意的是,本程序只接受数值类型的输入,而且程序要求输入的范围在200以内,所以最好输入200以内的数,但是对超出200以外的数,本程序也要作特别的处理,对于要求以内的数,程序会做出正确的处理。 3、特殊要求:如果三条边能组成三角形(指范围在200以内的边),必须以绘图的方式把三角形画出来,对于其他输入也要做出相应处理4、演示从输入数据到输出类型和图形的整个过程二、概要设计根据以上的分析,可以抽象出7种三角形的类型:三条边中任意一条边超过限定值(200)或小于限定值(1

2、)、输入的三条边无法组成三角形、等边三角形、普通等腰三角形、普通三角形、普通直角三角形和等腰直角三角形。对于直角三角形的处理为:由于是手工输入,无法输入开根号的无限循环小数,以达到组成三角形的目的。所以,可以规定其中任意两条边平方和与第三条边的平方之差在正负0.07之内,就已经是直角三角形了。判断类型的过程如下:三、代码部分 代码主要分为两部分:核心类(判定三角形的类型以及花三角行等等)以及界面类部分,其中界面类部分由于采用VB,其中的一些按钮之类的类是开发环境本生自带的类,是已经集成的,所以,我没有编写代码。代码具体如下:(1)、核心类代码:11Option ExplicitPrivate

3、side_a As DoublePrivate side_b As DoublePrivate side_c As DoublePrivate x1 As DoublePrivate y1 As DoublePrivate x2 As DoublePrivate y2 As DoublePrivate x3 As DoublePrivate y3 As DoublePublic Sub Cin() '输入三边 side_a = MainFrm.Text1(0).Text side_b = MainFrm.Text1(1).Text side_c = MainFrm.Text1(2).T

4、extEnd SubPriv Private Function Check() As Boolean '查看输入的三边是否在要求的范围内 If side_a>=1 And side_a<=200 And side_b>=1 And side_b<=200 And side_c>=1 And side_c<=200 Then Check = True Else Check = False End If End Function12Public Function TriangleType() As Integer '计算出输入的三边属于7种类型的

5、哪一种 Dim buff1 As Double Dim buff2 As Double Dim buff3 As Double buff1 = side_b * side_b + side_c * side_c - side_a * side_a buff2 = side_a * side_a + side_c * side_c - side_b * side_b buff3 = side_a * side_a + side_b * side_b - side_c * side_c If Not Check() Then TriangleType = 1 ElseIf side_a >=

6、 side_b + side_c Or side_b >= side_a + side_c Or side_c >= side_a + side_b Then TriangleType = 2 ElseIf buff1 >= -0.07 And buff1 <= 0.07 Or buff2 >= -0.07 And buff2 <= 0.07 Or buff3 >= -0.07 And buff3 <= 0.07 Then If side_a = side_b Or side_b = side_c Or side_a = side_c Then

7、TriangleType = 7 Else: TriangleType = 6 End If ElseIf side_a = side_b Or side_b = side_c Or side_a = side_c Then If side_a = side_b And side_b = side_c Then TriangleType = 3 Else: TriangleType = 4 End If Else: TriangleType = 5 End IfEnd Function13Private Sub Calculate() If side_a <= 10 Or side_b

8、<= 10 Or side_c <= 10 Then '由于是已像素为基础,需要扩大 side_a = side_a * 500 side_b = side_b * 500 side_c = side_c * 500 ElseIf side_a <= 50 Or side_b <= 50 Or side_c <= 50 Then side_a = side_a * 60 side_b = side_b * 60 side_c = side_c * 60 ElseIf side_a > 50 And side_a <= 100 Or side_b

9、 > 50 And side_b <= 100 Or side_c > 50 And side_c <= 100 Then side_a = side_a * 30 side_b = side_b * 30 side_c = side_c * 30 ElseIf side_a > 100 Or side_b > 100 Or side_c > 100 Then side_a = side_a * 20 side_b = side_b * 20 side_c = side_c * 20 End If Dim buff As Double '计算三

10、点坐标 buff = (side_a * side_a + side_b * side_b - side_c * side_c) / (2 * side_a) x1 = 2500 y1 = 3500 x2 = x1 + side_a y2 = y1 x3 = x1 + buff y3 = y1 - Sqr(side_b * side_b - buff * buff) End SubPublic Sub draw() '画线 Call Calculate MainFrm.Picture1.Line (x1, y1)-(x2, y2) MainFrm.Picture1.Line (x2,

11、y2)-(x3, y3) MainFrm.Picture1.Line (x3, y3)-(x1, y1)End Sub(2)、界面类代码:21Dim triangle_1 As New Triangle '产生一个对象Private Sub Command1_Click() Dim temp As Integer Picture1.Cls triangle_1.Cin '输入三边 temp = triangle_1.TriangleType '判断类型 Select Case temp '根据不同类型输出结果 Case 1: Text4.Text = "

12、;你所输入的三边已经超出了要求的范围" Picture1.Print "由于输入的三边已超过了要求的范围,无法显示三角形的图形" Case 2: Text4.Text = "无法组成三角形" Picture1.Print "无法组成三角形" Case 3: Text4.Text = "等边三角形" triangle_1.draw Case 4: Text4.Text = "普通等腰三角形" triangle_1.draw Case 5: Text4.Text = "普通三角形

13、" triangle_1.draw Case 6: Text4.Text = "普通直角三角形" triangle_1.draw Case 7: Text4.Text = "等腰直角三角形" triangle_1.draw End Select End Sub22Private Sub Command2_Click() Text1(0).Text = "" Text1(1).Text = "" Text1(2).Text = "" Text4.Text = "" P

14、icture1.ClsEnd SubPrivate Sub Command3_Click() EndEnd SubPrivate Sub Form_Load() Command1.Enabled = FalseEnd SubPrivate Sub Text1_Change(Index As Integer) '始终保证三边都有输入 If Text1(0) <> "" And Text1(1) <> "" And Text1(2) <> "" Then Command1.Enabled = T

15、rue Else Command1.Enabled = False End If End Sub三角形弱健壮等价类测试用例及其输出:三角形边界值_健壮性测试用例及其输出:基于决策表的测试(三角形问题)三角形问题决策表决策表1:决策表2:基于决策表的用例:三角形的判定覆盖及用例:根据上述的三角形程序流程图现设计针对判定覆盖(即分支覆盖)性的一组测试用例:用例abc预期输出第一组-10300248无效第二组15287非三角形第三组142018普通三角形第四组151510普通等腰三角形第五组262626等边三角形第六组304050普通直角三角形第七组100100141.421等腰直角三角形由上述流程图以及给出的七组用例可以看出,给出的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论