软件测试(二) 第二次作业

知识点回顾

  • 基本定义
    • 软件故障(software Fault):软件中的静态代码的缺陷
    • 软件错误(software Error):不正确的内部状态,该状态是故障的表现。
    • 软件失败(software Failure):与需求或期望的行为的描述有关德尔、外部的、不正确的行为
  • 找出一个失败的三个条件:

    • 程序中包含错误的位置必须找到(可达性,reachability)
    • 执行该位置后,程序的状态必须是不正确的(影响,infection)
    • 受到影响的状态必须传播出来,引起该程序某个输出是不正确的(传播,propagation)

    作业习题

 public int findLast (int[] x, int y) {
//Effects: If x==null throw
NullPointerException
// else return the index of the last element
// in x that equals y.
// If no such element exists, return -1
for (int i=x.length-1; i > 0; i--)
{
if (x[i] == y)
{
return i;
}
}
return -1;
}
// test: x=[2, 3, 5]; y = 2
// Expected = 0
  • 这段代码中的错误:

    在第6行代码处应该是i >= 0

  • 提供一个不会执行故障的测试用例:

    x=[2,3,5],y =5,期望值是2

  • 提供一个执行故障但是不会导致错误状态的测试用例:

    不存在

  • 提供一个导致故障而不会失败的测试用例:

    x[2,3,5],y=-1,期望值是-1

public static int lastZero (int[] x) {
//Effects: if x==null throw
NullPointerException
// else return the index of the LAST 0 in x.
// Return -1 if 0 does not occur in x
for (int i = 0; i < x.length; i++)
{
if (x[i] == 0)
{
return i;
}
} return -1;
}
// test: x=[0, 1, 0]
// Expected = 2
  • 这段代码中的错误:

    在第6行应该反向遍历,因为要找最后一个0

  • 提供一个不会执行故障的测试用例:

    不存在

  • 提供一个执行故障但是不会导致错误状态的测试用例:

    不存在

  • 提供一个导致故障而不会失败的测试用例:

    x[0,1,1],,期望值是0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此次实验我将以往的实验进行了分析和总结,理清了做医院管理系统这个项目时遇到的问题,把已完成的系统所具有的功能与最初的需求分析报告进行对比,发现有的功能并没有实现,这是因为自己水平不够也没有为此请教老师,查阅资料,导致最终的系统并没有满足需求,还有对该系统的测试过程中发现错误和缺陷没有及时跟踪,有的错误由于时间原因找不到了,对于测试过程中重复出现的错误和自己不清楚的错误应该及时记录并改正,以免导致更严重的错误。经过这么多次的实验,我深深地认识到测试对于系统开发的重要性,在每次测试中都会出现很多问题,如果不及时解决甚至导致项目无法继续进行,同时测试用例的设计也尤为重要,在编写测试用例时往往会考虑不周全,所以应该给出测试大纲,以保证测试用例的设计能够清晰、完整而不是顾此失彼。测试用例的设计在测试系统功能的同时,还要检查系统对输入数据的反应,要检查合法的操作和非法的操作,检查系统对条件组合的反应等,好的测试用例让其他人能够很好地执行测试,能够快速便利所测试的功能,能发现至今没有发现的错误,由于对系统的功能不是很熟悉,自己设计的测试用例显得很单薄,并不能测试出系统存在的所有问题,对于系统性能的测试就要搭建更真实的运行环境,另外还要在不同的操作系统下进行测试时,以及采用人工测试完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值