软件測试在程序猿对每个模块的编码之后先做程序測试,再做单元測试,然后再进行集成(综合或组装)測试,系统測试,验收(确认)測试,平行測试,人工測试,当中单元測试的一部分已在编码阶段就開始了,測试横跨开发与測试两个阶段,又有不同的人员參加,測试工作本身是复杂的。
据统计測试工作量要占软件开发总成本的40%到50%以上。
从这张图中我们能够看到,软件測试设计概念和原则、技术双方面的内容。
首先来说概念和原则。
概念:软件測试时对软件计划、软件设计、软件编码进行查错和纠错的活动(包含代码运行活动与人工活动),软件測试事实上包含程序測试。软件确认和程序确认各自是它们的广义概念。在这里须要补充一点软件错误,软件错误主要是有一些功能错和系统错。功能错是需求分析设计不完整而引起的,系统错是整体设计错误而引起的。
測试原则:(1)測试前要认定被測试软件有错,不要觉得软件没有错
(2)要预先确定被測试软件的測试结果
(3)要尽量避免測试自己编写的程序。
(4)測试要兼顾合理输入与不合理输入数据。
(5)測试要以软件需求规格说明书为标准。
(6)要明白找到的新错与已找到的旧错成正比。
(7)測试是相对的,不能穷尽全部的測试,要据人力物力安排測试,并选择好的測试用例与測 试方法。
(8)測试用例留作測试报告与以后的重复測试用,又一次验证纠错的程序是否有错。
再来说技术。
測试目标:
(1)測试时为了发现程序中的错误而运行程序的过程;
(2)好的測试方案是极可能发现迄今为止尚未发现的错误的測试方案;
(3)成功的測试是发现了至今为止尚未发现的错误的測试。
測试方法:依照測试过程是否在实际应用环境中来分有静态分析与动态分析。
測试方法有分析方法(包含静态分析法与白盒法)与非分析方法(称黑盒法)。
白盒法是通过分析程序内部的逻辑与运行路线来设计測试用例,进行測试的方法,白盒法也称逻辑驱动方法。黑盒法是功能驱动方法,仅依据I/O数据条件来设计測试用例,而无论程序的内部结构与路径怎样。说白了就是白盒法就是透明的,对其内部能操作。黑盒法由于不透明,所以仅仅能进行总体外部操作。
设计測试方案:语句覆盖、判定覆盖和条件覆盖是重点。