文档介绍:第一章 软件测试与项目分析
50年代,软件伴随着第一台电子计算机的问世诞生了,以写软件为职业的人也开始干框架一样,软件测试同样可以采用多种方法,利用不同的方法可以得到不同的效果,并且最终保证被测对象符合预期的用户需求。按照测试方法分,主要有以下几种:
黑盒测试
黑盒测试又称功能测试、数据驱动测试或基于需求规格的功能测试,通过测试活动来检查被测对象每个功能能否正常使用,是否满足用户需求。
黑盒测试方法能更好更真实的从用户角度来检查被测对象界面、功能等方面需求实现情况,但黑盒测试基于用户需求进行,会带来隐患。黑盒测试方法难以发现一些隐藏在程序内部的缺陷,如内存泄漏等。
以OA系统为例,如果从用户需求角度考虑,对图书管理、资产管理或车辆管理等模块,实施功能或性能测试,此处的方法即为黑盒测试。
黑盒测试工作目前是软件测试方法核心方法,在企业测试过程中,大多数采用黑盒测试方法,读者在学习过程中需重点学习此测试方法,再辅以后续的测试方法,方能把握工作核心,关键点。
白盒测试
白盒测试又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。此时,测试工程师需深入考查程序代码的内部结构、逻辑设计等。白盒测试需要测试工程师具备很深的软件开发功底,精通相应的开发语言,初级测试工程师难以胜任该工作。
白盒测试方法主要包括代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法,其中最为常用的方法是代码检查法。
代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构合理性等方面;发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。一般公司都有比较成熟的编程规范,代码检查时,可以根据编程规范进行检查。
以OA系统车辆管理添加车辆功能为例,如果对以下代码
function findObj(theObj, theDoc)
{
var p, i, foundObj;
if(!theDoc) theDoc = document;
if( (p = ("?")) > 0 && )
{
theDoc = [(p+1)].document;
theObj = (0,p);
}
if(!(foundObj = theDoc[theObj]) && ) foundObj = [theObj];
for (i=0; !foundObj && i < ; i++)
foundObj = [i][theObj];
for(i=0; !foundObj && && i < ; i++)
foundObj = findObj(theObj,[i].document);
if(!foundObj && ) foundObj = (theObj);
return foundObj;
}
var GetDate="";
function SelectDate(ObjName,FormatDate){
var PostAtt = new Array;
PostAtt[0]= FormatDate;
PostAtt[1]= findObj(ObjName);
GetDate=showModalDialog("../util/calendar/", PostAtt ,
"dialogWidth:286px;dialogHeight:221px;status:no;help:no;");
}
function SetDate()
{
findObj(ObjName).value