- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华东交通大学软件工程实验报告三
软件测试实验三
实验目的
学会使用CASE工具完成软件测试用例的设计以及初步完成对单元测试,深刻理解单元测试的基本原理及CASE工具的基本使用。
实验内容
1、单元测试的逻辑覆盖测试验证实验:运用Nunit工具完成对如下例子的单元测试,要求分别完成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖测试的测试用例编写以及测试。要求首先按格式编写出该测试所需要的测试用例,然后编写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。
测试用例的格式如下:
{[输入], [期望结果]},对于本例请遵循如下格式:
{[A,B,X],[X]}
图1 单元测试逻辑覆盖的验证实验
此外,请测试如下情况:
如果将第1个判定中的“AND”错写成了“OR”,用数据{[2,0,3],[2.5]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
语句覆盖
不能,and要求比or严格,所以and可以满足的数据or也肯定可以满足。
如果将第2个判定中的“x1”错写成了“x=1”,则用数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
不能,第二个判定是or只要满足一个条件即可。因为a=2所以第二个条件恒为真。所以不能发现错误。
如果将第1个判定中的“AND”错写成了“OR”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
语句覆盖,判定覆盖
第一组测试数据不能发现错误,因为第一组数据可以满足判定一的AND判断,肯定可以通过OR判断条件。
第二组测试数据可以发现错误,因为A=2,B=1原本不可以通过路径b,因为只有A满足了条件,B未满足条件,通过AND返回0。由于把AND错写成OR,返回1,影响了X的值,发现错误。
如果将第2个判定中的“x1”错写成了“x=1”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]})对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
{[3,0,1],[1/3]}可以。经过第1个判断,执行b操作是x=1/3,第2个判断是x = 1,返回1,进行e操作。最后得到的x = 4/3,与期望结果不同,提示错误。
{[2,1,2],[3]}不可以。第1个判断是B == 0不成功,将通过b进行第2个判定,此时x仍为2。因为A == 2正确,返回1,进行e操作。最后x = 3,与期望结果相同。不能发现“x1”错写成了“x=1”。
如果将第2个判定中的“x1”错写成了“x=1”,则用数据{[2,0,3],[2.5]}和{[1,1,1],[1]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
满足语句覆盖,判断覆盖,条件覆盖,判断/条件覆盖。
第一组测试数据不能发现错误,在第2个判定时,因为A == 2正确,返回1,进行e操作。最后x = 2.5,与期望结果相同。所以不能发现“x1”错写成了“x=1”。
第二组测试数据可以发现错误,因为A=1,x=1原本不可以通过第2个判定,返回0。但写错后x = 1成立,返回1,影响了X的值,发现错误。
如果将第1个判定中的“a1”错写成了“a=1”,且把“b=0”错写成了“b0”,则用数据{[2,1,1],[2]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
都不能。
{[2,1,1],[2]}原本执行路径是abe。出错后执行路径仍为abe,所以不能发现错误。
{[1,0,2],[3]}原本执行路径是abe。出错后执行路径仍为abe,所以也不能发现错误。
如果将第1个判定中的“a1”错写成了“a=1”,且把“b=0”错写成了“b0”,则用数据{[2,1,1],[2]}、{[2,0,2],[2]}、{[1,1,1],[1]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
可以发现错误。
{[2,1,1],[2]}原本执行路径是abe。出错后执行路径仍为abe,所以不能发现错误。
{[2,0,2],[2]} 原本执行路径是ace。出错后执行路径仍为abe,可以发现错误。
{[1,1,1],[1]} 原本执行路径是abd。出错后执行路径仍为acd,所以不能发现错误。
{[1,0,2],[3]}原本执行路径是abe。出错后执行路径仍为abe,所以也不能发现错误。
2、循环结构测试
现有一个简单循环,需
文档评论(0)