软工复习之测试与维护

一、软件维护

1.软件维护是指对于已交付使用的软件,由于改正错误或增加新的功能来修改软件的过程。

2.软件维护包括:改正性维护(改正错误),适应性维护(适应环境),完善性维护(完善需要,占比最大),预防性维护(预防变化)。

3.软件再过程包括:库存目录分析(目录保存了各个系统的信息,确定哪些系统需要预防性维护,需要使用多年的系统,正在成功运行的系统,未来有重大变化的系统)

文档重构:对于正确不需要变动的部分,不修改;需要修改但资源有限,一步一步修改;完全需要修改的,最少修改

逆向工程

代码重构,用得最多,在模块内,在模块外就是正向工程

数据重构,起始于逆向工程

正向工程,针对系统。

二、软件测试

1.单元测试

测试重点:模块接口测试,局部数据结构,重要执行通路,错误处理,边界条件

测试方法:代码审查:一次审查会议上可以发现很多错误,减少系统验证工作量。

计算机测试:驱动程序:模拟主程序,接受测试数据,并转发给下层模块。

存根程序:模拟被测试模块所调用的模块,做最少的数据操作,输出操作结果,将控制归还给调用它的模块。

 2.集成测试

一次性集成:需要编写大量的驱动程序和存根程序;一次将所有模块结合,无法发现所有的错误的原因;无法区分是接口错误还是其他类型错误。

自顶向下集成:从主控制程序出发,按照软件的控制层次结合下层模块,分为DFS和BFS。

优点:不需要编写驱动程序;可以在较早时期对主要控制和关键选择进行测试;若采用深度优先,则可以在较早时期得到具有软件完整功能的实现。

缺点:需要编写存根程序,在较高层次的测试,需要对较低层次进行处理。

自底向上集成:从软件系统的最底层模块出发,逐步结合测试。

优点:不需要存根程序;测试驱动程序需要不多;模块可以并行测试;底层模块往往是计算、输入、输出,可以更好的在测试早期发现这些错误。

缺点:对主要控制和关键选择的测试时间晚,对顶层组件测试晚,推迟了主要错误的发现;只要当最后一个模块加入之后,才有系统的整体形象。

三明治集成:选择一层作为基准层。

优点:较早测试主要控制和关键选择;可以并行测试;存根和驱动程序编写少

缺点:不能较早测试底层模块

回归测试:重新执行已执行的某测试的子集,为了防止因调试或其他原因而引起的软件非预期错误。

测试部分:测试软件全部功能;测试修改部分;测试可能被修改部分影响的部分。

3.确认测试

主要测试软件的有效性。什么是有效性,符合客户标准,客户满意就是有效的。

根据需求规格说明书测试,需求规格说明书反映了客户的需求。

确认测试的一个重要内容就是软件配置复查。检查软件配置各项成分是否齐全,质量是否符合要求,文档与程序是否一致,具有软件维护所需要的细节,写入了库存目录当中。

除开人工审查,还有考虑用户手册的完整性和正确性。 

α测试(开发者在)与β测试(开发者不在)

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值