软件工程与项目管理解析摘要
企业的根本目标是:合法地赚取尽可能多的利润,使企业利益最大化。
需求开发过程:
结构化分析方法:数据字典、实体—关系图、数据流图、状态图—变迁图。
面向对象分析法:UML
测试流程:
所有阶段的测试都应当遵循如下流程(如图7-2所示):
² 第一步:制定测试计划。该计划被批准后转向第二步。
² 第二步:设计测试用例。该用例被批准后转向第三步。
² 第三步:如果满足“启动准则”(Entry Criteria),那么执行测试。
² 第四步:撰写测试报告。
² 第五步:消除软件缺陷。如果满足“完成准则”(Exit Criteria),那么正常结束测试。
7.5.2 测试的“启动准则”和“完成准则”
一、测试的“启动准则”
同时满足以下条件,允许开始测试:
(1)测试计划已经制定并且通过了审批;
(2)测试用例已经设计并且通过了审批;
(3)被测试对象已经开发完毕并等待测试。
二、测试的“完成准则”
对于非严格系统可以采用“基于测试用例”的准则。同时满足以下条件,允许结束测试:
(1)功能性测试用例通过率达到100%;
(2)非功能性测试用例通过率达到90%时。
对于严格系统,应当补充“基于测试期缺陷密度”的规则:
(3)相邻n个CPU小时内“测试期缺陷密度”全部低于某个值m。例如n大于10,m小于等于1。(参见7.4.3节)
7.7.4 消除代码错误的注意事项
(1)找到错误的代码时,不要急于修改,先思考一下:修改此代码会不会引发其它问题?如果没有问题,可以放心修改。如果有问题,那么可能要改动程序结构,而不止一行代码。
(2)有些时候,软件中可能潜伏同一类型的许多错误(例如由不良的编程习惯引起的)。好不容易逮住一个,应当乘胜追击,全部歼灭。
(3)在改错之后一定要马上进行回归测试,以免引入新的错误。有人在马路上捡到钱包后得意忘形,不料自己却被汽车撞倒。改了一个程序错误固然是喜事,但要防止乐极生悲。更加严格的要求是:不论原有程序是否绝对正确,只要对此程序作过改动(哪怕是微不足道的),都要进行回归测试。
(4)上述事情做完后,应当好好反思:我为什么会犯这样的错误?怎么能够防止下次不犯相似的错误?最好能写下心得体会,与他人共享经验教训。
软件质量管理: