【软件工程】--测试阶段

【前言】

     我们经常会测试师哥师姐们做的考试系统,测试的道理并不难理解,测试的目的当然是为了发现尽可能多的系统缺陷,提高软件质量。这里的缺陷不仅仅指的是出现的bug,还可以是系统的性能、易用性以及我们站在用户角度的用户体验等。摘一句软件工程思想中看到的话:一个成功的测试示例在于发现了至今尚未发现的缺陷。测试并不仅是个技术问题,更是个职业道德问题。

【引入】

     给大家讲一个我看到的关于Microsoft公司的故事,Microsoft公司采用了一些看起来比较先进的方法,成立独立的测试小组,自动测试以及为关键性的构件进行代码复查等。自从Microsoft公司在1984年与1986年之间扩大了测试小组后,开发人员开始“变懒”了。但是有了独立的测试小组后,并不等于万事大吉了。他们把代码扔在一边等着测试,忘了唯有开发人员自己才能阻止错误的发生、防患于未来。这款软件发布后竞出现了700多处错误,公司的名誉一落千丈,花费了超过100万美元重新为用户升级版本。

【测试类型】

      我们这里并不是说成立独立的开发小组不好,从Microsoft公司的教训中可知,公司内部对产品的测试(称为α测试),需要开发人员与独立的测试小组共同参与。 
      下面我以此引入大家期待已久的白盒测试和黑盒测试:
      开发人员应该执行“白盒”测试,即测试源程序的逻辑结构以及实现细节(“白盒”是指看得见程序的内部结构)。而独立测试小组应该执行“黑盒”测试,即按照规格说明来测试程序是否符合要求(“黑盒”是指看不见程序的内部结构)。比如在测试一个模块时,“白盒”测试方法要对模块的所有代码进行单步跟踪测试。而“黑盒”测试方法只需测试模块的接口是否符合要求,它关心程序的外部表现而不是内部的实现细节。
     如果是小型的软件开发公司没有条件成立独立的系统测试小组,可以让开发小组的成员互相测试对方的程序。
     α测试不能依赖于开发人员或者测试小组中的任意一方,必须是双方共同参与。“白盒测试”必须由开发者自己执行,因为别的测试人员无法了解到程序的内部实现细节。而“黑盒测试”必须由独立的测试人员执行,因为开发者难以做到客观、公正。
     当然开发人员在测试自己的程序时也会有一些弊病。
1.总觉得自己的是对的。因为个人习惯原因可能很难发现一些不良习惯带来的隐患。
2.开发者对自己的程序比较熟悉,然而用户并不熟悉,开发者不会因为程序的使用不当而引发错误,就像我们自己设计的机房收费系统自己总是点不出来错误,但是让别的同学一点都是bug,原因就在这里。所以开发者的测试不具备典型性。
3.测试可以是一件蓄意破坏的事情,因为我们都知道发现未发现的错误才是测试的目的,但是程序开发者处于对自己程序的爱惜,可能不愿意做破坏的事情,这就导致有些问题被掩盖。

      为了解决开发人员和测试小组测试可能遗漏的问题,我们引入了β测试, 软件产品正式发行前,在公司外部邀请一些用户对产品进行测试,称为β测试。β测试的涉及面最广,最能反映用户的真实愿望,但花费的时间最长,不好控制。一般地,软件公司与β测试人员之间有一种互利的协议。即β测试人员无偿地为软件公司作测试,定期递交测试报告,提出批评与建议。而软件公司将向β测试人员免费赠送或者以很大的优惠价格发行软件的正式版本。

【测试用例】

黑盒用例---功能测试,数据驱动   检查:接口,被测单元功能
白盒用例---结构测试,逻辑驱动   检查:模块的关键路径、逻辑

【测试过程】


【测试方法】

 (1)正确性测试
正确性测试又称功能测试,它检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以其测试也最重要。
 (2)容错性测试
容错性测试是检查软件在异常条件下的行为。容错性好的软件能确保系统不发生无法意料的事故。
 (3)性能与效率测试
性能与效率测试主要是测试软件的运行速度和对资源的利用率。
(4) 文档测试
文档测试主要检查文档的正确性、完备性和可理解性。好多人甚至不知道文档是软件的一个组成部分。

【改错】

     错误类型:功能错误,系统错误,数据错误,编码错误,其他错。
     侧重点:功能错,系统错。

     测试的目的是发现错误,发现了错误当然要改错了,这个过程我想大家都不陌生,我们做学生系统和机房收费系统的时候最关键的地方就在于改错了,运行的时候总是出各种bug,但是不管是什么样的bug最后总能被解决掉。但是怎么改更高效呢,大家有没有想过?

技术上的:

①强行排错 ②回溯法调试 ③归纳法调试 ④演绎法调试

再说几点思想上的:

①敢于去做,摒弃畏难心理。②不可以蛮干,要多钻研去找到问题的根源。③改错之后要重新测试,以免引入新的错误。

【测试标准】

软件需求规格说明书,正所谓不忘初心,方得始终。要根据最初的软件需求标准进行检测。

【总结】

    测试阶段的工作要根据最初设计的软件需求规格说明书来错,尽可能的让系统的出错率降到最低,当然,防患于未然那是最好不过了,但是没有一个程序员可以声称自己写的程序没有错误,然而我们可以尽量做到最好。测试阶段用好的测试方法找到好的测试用例可以让我们事半功倍。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: 对于北邮-2021-软件工程-期末复习.rar,其实际内容应该包含了北邮软件工程课程的期末复习相关资料。这些资料可能包括了课堂讲义、考试重点、习题解答、历年试卷等内容,有助于帮助学生复习和准备考试。此外,该压缩文件可能也包含了一些软件工程方面的技术文献、著作或工具等资源,供学生自行查阅和学习。 软件工程是计算机科学的一个重要分支,旨在研究关于软件的开发、管理和维护等方面的最佳实践和方法。在学习软件工程的过程中,需要不断运用各种工具和技术,例如需求分析、设计模式、测试驱动开发、代码版本管理等。因此,掌握软件工程技能对于未来从事软件开发的工程师和研究者来说都是非常重要的。 总之,北邮-2021-软件工程-期末复习.rar是一个包含了软件工程课程复习相关资料的压缩文件,对于学习软件工程的同学们来说,它是一份宝贵的资源。在复习过程中,我们需要认真审核其中的内容,结合课堂实际情况,制定个人化的复习计划,不断加强基础知识的掌握,并结合实际应用,提高自己的软件开发能力。 ### 回答2: 北邮-2021-软件工程-期末复习.rar文件是北邮2021年软件工程课程的期末复习资料压缩包。其中包含了软件工程课程相关的学习资料和复习材料。在这个压缩包中,可能包括课件、PPT、习题和答案、教材、参考书籍、课程大纲等等。这些材料都是为了帮助学生进行软件工程课程的有效学习和备考复习所准备的。 该压缩包的目的是为学生提供一个集中、整理好的资源库,方便学生在期末复习阶段能够迅速找到所需资料。通过使用该压缩包,学生可以更加高效地进行软件工程知识的巩固和回顾,更好地理解和掌握课程中的关键概念和技术。 对于学生而言,打开这个压缩包后,可以根据自己的需要选择具体的学习材料进行查阅和使用。同时,也可以根据课程大纲或者考试的重点,有针对性地进行复习,并通过习题巩固知识。 总之,北邮-2021-软件工程-期末复习.rar是一份为学生提供软件工程课程复习资料的压缩包,通过使用其中的学习资料,学生可以更加高效地进行软件工程知识的复习和巩固,为期末考试好准备。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值