常州大学 软件工程第五章作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程第5章作业

1.什么是软件测试?谈谈你对软件测试的认识。

软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。

(1)测试是为了发现程序中的错误而执行程序的过程

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

(4)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。

(5)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性

(6)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法

(7)另外,根据测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。

2.什么是测试用例?设计测试用例时,应该考虑哪些因素?

答测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

编写测试用例需要考虑很多因素:

1)测试目标。测试人员测试该产品或者系统的目标是什么。假如测试用例文档不能支持这个目标,或者无助于达到这个目标,那么这样的测试用例设计文档价值就会降低很多。

2)测试用例文档是产品还是工具。假如测试用例文档是软件系统或者产品的一部分,那么这些文档是需要发布给客户使用的,这时候测试用例文档就需要按照客户的要求遵循某种表尊。而假如它们只是内部使用的工具,那么就不必太完整、太整齐,能够在最低限度上有助于达到目标即可。

3)软件设计变更是否频繁。如果软件设计变更很频繁,则不要将许多细节写入测试用例文档中,因为这些细节很快就会过时。这种情况下,不要编写大量的测试用例文档,它们被修改或者放弃的速度太快,不值得在测试用例文档上投入太多。

4)采用的测试方法。假如目前采用的软件开发模型是V模型之类的线性模型,那么采

用的测试方法通常是依赖于预先定义的测试,这时候需要详细的测试用例的操作和维护文档。假如采用的是探索性测试,则更需要策略方面的文档,例如:关于某个测试领域的想法,但不是具体的测试用例。

5)测试用例文档给谁看。假如测试用例文档是主要给新的测试人员或者没有经验的测试人员看,那么需要足够详细使得他们能够正常开展工作。

3.阐述单元测试、集成测试、确认测试之间的联系和区别。

答根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。

体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。

单元测试的粒度最小,

一般由开发小组采用白盒方式来测试,

主要测试单元是否符合设计。

集成测试界于单元测试和系统测试之间,起到桥梁作用,一般由开发小组采用白盒加黑盒

的方式来测试,既验证“设计”,又验证“需求”。

系统测试的粒度最大,

一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。

验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。

黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说

明书。一般会有一个输入值,一个输入值,和期望值做比较。

白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。

确认测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试

4.下列伪码程序的功能是“输入三角形的三个边长,判断构成何种三角形”。

(1)使用条件覆盖法,为该程序设计白盒测试用例。

(2)使用等价类划分法,为该程序设计黑盒测试用例。

START

READ (A,B,C)

IF (A≤0) OR (B≤0) OR (C≤0)

THEN WRITE (“三角形边长不能为零”)

ELSE IF (A+B≤C) OR (A+C≤B) OR (B+C≤A)

THEN WRITE (“不能构成三角形”)

ELSE IF (A=B) AND (B=C)

THEN WRITE (“等边三角形”)

ELSE IF (A=B) OR (B=C) OR (A=C)

THEN WRITE(“等腰三角形”)

ELSE WRITE(“任意三角形”)

STOP

——————————————————————————————————————

(1)条件覆盖法:

测试用例1:A=0,B=0,C=0(满足(A≤0) OR (B≤0) OR (C≤0),返回“三角形变成不能为零”)测试用例2:A=1,B=1,C=2(满足(A)>0) OR (B)>0) OR (C)>0),A+B<=C,返回“不能构成三角形”)

测试用例3:A=1,B=2,C=1(满足(A)>0) OR (B)>0) OR (C)>0),A+C<=B,返回“不能构成三角形”)

测试用例4:A=2,B=1,C=1(满足(A)>0) OR (B)>0) OR (C)>0),B+C<=A,返回“不能构成三角形”)

测试用例5:A=5,B=5,C=5(满足(A)>0) OR (B)>0) OR (C)>0),B+C<=A,(A+B≤C) OR (A+C≤B) OR (B+C≤A),(A=B) AND (B=C),返回“等边三角形”)

测试用例6:A=5,B=5,C=7(满足(A)>0) OR (B)>0) OR (C)>0),B+C<=A,(A+B≤C) OR (A+C≤B) OR (B+C≤A),(B!=C),A=B,返回“等腰三角形”);

测试用例7:A=5,B=7,C=5((满足(A)>0) OR (B)>0) OR (C)>0),B+C<=A,(A+B≤C) OR (A+C≤B) OR (B+C≤A),(B!=C),A!=B,A=C,返回“等腰三角形”)

测试用例8:A=7,B=5,C=5((满足(A)>0) OR (B)>0) OR (C)>0),B+C<=A,(A+B≤C) OR (A+C≤B) OR (B+C≤A),A!=B,B=C,返回“等腰三角形”)

测试用例9:A=3,B=5,C=6(返回“普通三角形”)

(2)等价类划分:

分析这个程序的规格说明,可以划分出如下等价类:

相关文档
最新文档