图书销售系统系统测试与改正

测试的目的是为了发现尽可能多的缺陷,并期望通过改错来把缺陷统统消灭,以期提高软件的质量。

    1. 对测试的理解

测试的道理并不深奥,以下是关于测试的几个重要观念。

测试的目的是为了发现尽可能多的缺陷。这里缺陷是一种泛称,它可以指功能的错误,也可以指性能低下,易用性差等等。测试总是先假设程序中存在缺陷,再通过执行程序来发现并最终改正缺陷。理解测试的目的是个很重要的意识问题。如果说测试的目的是为了说明程序中没有缺陷,那么测试人员就会向这个目

标靠拢,因而下意识地选用一些不易暴露错误的测试示例。这样的测试是虚假的

一个成功的测试示例在于发现了至今尚未发现的缺陷。

测试主要是由人而不是由机器执行,这就不免与心理因素相关。正因为人是种感情动物,错误就意味着缺陷,就跟生活中一样,如何表达别人的缺陷是很困难的事儿。当然,发现自己的缺陷就更困难了。具体该如何做,每个人都有各自的行为方式。

经验总结出以下软件测试的原则:

  1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
  2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。
  3. 程序员应避免检查自己的程序;
  4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
  5. 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
  6. 严格执行测试计划,排除测试的随意性。
  7. 应当对每一个测试结果做全面检查。
  8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

测试有助于提高软件的质量,但是提高软件的质量不能依赖于测试。软件的高质量是设计出来的,而不是靠测试修补出来的。

    1. 本系统测试的主要内容及方法

软件测试并不等于程序测试。软件测试贯穿于软件的定义与开发的整个期间。需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、系统设计规格说明以及源程序,都应成为软件测试的对象。

为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。验证试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。

本系统主要采用黑盒测试的方法来测试。

首先是功能测试。它检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以其测试也最重要。

另一种有效的测试方法是边界值测试,即采用定义域或者等价区间的边界值进行测试。注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。因为程序员容易疏忽边界情况,而程序经常在边界值处出错。

    1. 容错性测试

容错性测试是检查软件在异常条件下的行为。容错性好的软件能确保系统不发生无法意料的事故。容错性测试通常构造一些不合理的输入来引诱软件出错,例如:输入错误的数据类型,输入定义域之外的数值。

    1. 性能与效率测试

性能与效率测试主要是测试软件的运行速度和对资源的利用率。有时人们关心测试的“绝对值”,如数据输送速率是每秒多少比特。有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍。

在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。在获取测试的“相对值”时,我们要确保被测试的几个软件运行于完全一致的环境中。

性能与效率测试中很重要的一项是极限测试,因为很多软件系统会在极限测试中崩溃,即连续不停地向服务器发请求,测试服务器是否会陷入死锁状态不能自拔,给程序输入特别大的数据,看看它是否吃得消。

    1. 改错

发现错误,必须改错。改错是测试的原因和归宿。

  1. 改错的几个原则
    • 在出现错误的地方,很可能还有别的错误。
    • 修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误的本身。
    • 当心修正一个错误的同时有可能会引入新的错误。
    • 修改错误的过程将迫使人们暂时回到程序设计阶段。
    • 修改源代码程序,不要改变目标代码。
    • 找出错误的根源。
  2. 本系统在测试阶段的错误和改正方法
  • 错误

在新建图书类别的网页中,当添加新类别时总会出现错误类型:

Microsoft OLE DB Provider for SQL Server (0x80040E2F)
无法将 NULL 值插入列 'idcategory',表 'olbs.dbo.categories';该列不允许空值。INSERT 失败。
/book/addcategory.asp, 第 76 行                

  • 改正方法

在新建图书类别的网页中(addcategory.asp)的代码中,发现没有插入图书类别的编号,由于数据库中图书分类表的编号为主索引,因此不能为空,所以在代码中添加了标号的插入,其代码为:

sql = "select Max(idcategory) from categories"

   set rs = conn.execute(sql)

   if not rs.EOF then

  nrs = rs.Fields(0)

  nrs = nrs + 1

      end if

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值