1软件测试2内容1.软件测试的目的和原则2.软件测试用例设计3.软件测试策略4.软件测试种类5.程序调试6.软件可靠性7.日立预测法8.自动测试工具3防不胜防的软件错误——例1:1963年,美国,飞往火星的火箭爆炸,损失$10million.原因:FORTRAN循环DO5I=1,3误写为DO5I=1.3例2:1996年,美国WashingtonPost报导Dallas,Aug.23—ThecaptainofanAmericanAirlinesjetthatcrashedinColombialastDecemberenteredanincorrectone-lettercomputercommandthatsenttheplaneintoamountain,theairlinesaidtoday.4第七章测试.Thecrashkilledallbutfourofthe163peopleaboard.American’sinvestigatorsconcludedthatthecaptainoftheBoeing757apparentlythoughthehadenteredthecoordinatesfortheintendeddestination,Cali.ButonmostSouthAmericanaeronauticalcharts,theone-lettercodeforCaliisthesameastheoneforBogota,132milesintheoppositedirection.ThecoordinatesforBogotadirectedtheplanetowardthemountain,accordingtoaletterbyCecilEwell,American’schiefpilotandvicepresidentforflight.ThecodesforBogotaandCaliaredifferentinmostcomputerdatabases,Ewellsaid.5软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审,其工件量约占总工作量40%以上(对于人命关天的情况,测试相当于其它部分总成本的3—5倍)。第七章测试.6软件测试的目的和原则软件测试的目的软件测试的原则软件测试的对象测试信息流测试与软件开发各阶段的关系7软件测试的目的基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。8Myers软件测试目的(1)测试是程序的执行过程,目的在于发现错误;(2)一个好的测试用例在于能发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试。9换言之,测试的目的是想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。