软件测试基础教程

玛丽莲梦兔
816次浏览
2021年02月21日 08:49
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:花中君子指的是什么)


软件测试基础教程




测试的基本概念



测试是软件生存周期 中十分重要的一个过程,


是产品发布、


提交给最终用户前的


稳定化阶段。



1




测试的分类:



从测试方法的角度可以分为手工测试和自动化测试。



手工测试:


不使用任何测试工具,


根据事先设计 好的测试用例来运行系统,


测试


各功能模块。

< br>


自动化测试:


利用测试工具,


通过编写测试脚本和输入测试数据,


自动运行测试


程序。


目前最常用的自动化测试工具是基于


GUI


的 自动化测试工具,


基本原理都


是录制、回放技术。



从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。



单元测试:


是针对软件设计的最小单位—程 序模块,


进行正确性检验的测试工作。


一般包括逻辑检查、结构 检查、接口检查、出错处理、代码注释、输入校验、边


界值检查。



单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。



集成测试:


在单元测试的基础上,


将所有模块按照设计要求组装进行测试。


一般


包括逻辑 关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口


检查。

< p>


系统测试:


系统测试是在所有单元、

< p>
集成测试后,


对系统的功能及性能的总体测


试。< /p>



确认测试:


模拟用户运行的业务环境,


运用黑盒测试方法,


验证软件系统是否满


足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。



从测试原理上分为:白盒测试、黑盒测试和灰盒测试。



白盒测试:


是通过程序的源代码进行测试而不使用用户界面。


这种类型的测试需


要从代码句法发现内部代码在算法,溢出,路径,条件 等等中的缺点或者错误,


进而加以修正。


黑盒测试:


是通过使用整个软件或某种软件功能来严格地测试


,


而并没有通过检


查程序的源代码或者很清楚地了解该软件 的源代码程序具体是怎样设计的。


测试


人员通过输入他们的数据 然后看输出的结果从而了解软件怎样工作。在测试时,


把程序看作一个不能打开的黑盆子 ,



在完全不考虑程序内部结构和内部



特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求

< p>


规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。黑盒 测试



方法主要有等价类划分、边界值分析、因—果图、错误推测法。



等价类划分:



是把所有可能的输入数 据


,


即程序的输入域划分成若干部分


( 子集)


,


然后从每一


个子集中选取少数 具有代表性的数据作为测试用例


.


该方法是一种重要的


,


常用


的黑盒测试用例设计方法


.




1)


划分等价类


:


等价类是指某个输入域 的子集合


.


在该子集合中


,

< p>
各个输


入数据对于揭露程序中的错误都是等效的


.


并合理地假定


:


测试某等价类的代表< /p>


值就等于对这一类其它值的测试


.


因此< /p>


,


可以把全部输入数据合理划分为若干等


价类


,


在每一个等价类中取一个数据作为测试的输入条件


,


就可以用少量代表性


的测试数据

< p>
.


取得较好的测试结果


.


等价类划分可有两种不同的情况


:


有效等价类

< br>和无效等价类


.


有效等价类


:


是指对于程序的规格说明来说是合理的


,


有意义的输入数据构成的


集合


.


利用 有效等价类可检验程序是否实现了规格说明中所规定的功能和性能


.

< br>无效等价类


:


与有效等价类的定义恰巧相反


.




设计测试用例时< /p>


,


要同时考虑这两种等价类


.

< p>
因为


,


软件不仅要能接收合理的

< br>数据


,


也要能经受意外的考验


.


这样的测试才能确保软件具有更高的可靠性


.


边界值分析:



长期的测试工作经验告 诉我们


,


大量的错误是发生在输入或输出范围的边界上


,


而不是发生在输入输出范围的内部


.


因此针对各种边界情况设计测试用例


,


可以< /p>



查出更多的错误。



错误推测法:



基于经验和直觉推测程序中所有可能存在的各种错误


,


从而有针对性的设计测


试用例的方法


.


错误推测方法的基本思想


:


列举出程序中所 有可能有的错误和容


易发生错误的特殊情况


,

< br>根据他们选择测试用例


.


例如


,


在单元测试时曾列出的


许多在模块中常见的错误


.


以前产品测试中曾经发现的错误等


,


这些就是经验


的总结


.


还有


,


输入数据和输出数据为


0


的情况


.


输入表格为空格或输入表格


只有一行


.


这些都是容易发生错误的情况


.


可选 择这些情况下的例子作为测试


用例。




灰盒测试:


灰盒测试就像黑盒测试一样是通过用户界面测试,< /p>


但是测试人员已经


有所了解该软件或某种软件功能的源代码程序具 体是怎样设计的。


甚至于还读过


部分源代码。因此测试人员可以 有真对性地进行某种确定的条件


/


功能的测试。




从软件特性上分为功能测试和性能测试。


功能测试:


是指为了确保软件系统功能实现的正确性,


完整 性和其他特性而进行


的测试。



< /p>


性能测试:


是指为了评估软件系统的性能状况,

< br>和预测软件系统性能趋势而进行


的测试和分析。




2



BUG


的定义:



BUG



(


小错误,缺陷,不足,过失


„) 一个计算机


bug


指在计 算机程序中存在


的一个错误(


error


)、缺陷(


flaw


)、疏忽(


mi stake


)或者故障(


fault


) ,


这些


bug


使程序无法正确的运行。


Bug


产生于程序的源代码或者程序设计阶段的


疏忽或者错误。




Def ect



(


缺陷


)


在软件工程(


Software Engineerin g


)中,软件与它的需求



requi rements



不一致,


常常指软件 无法正确完成需求所要求的功能,


也称之


bug






Fault


(


故障


)


被定义为存在于组件、设 备或者子系统中异常的条件或者缺陷,


常常会导致系统的失败。




Error


(


错误


)


一个

< br>error


是指编写错误的代码,


通常是无意中造成的。


一般有


两类主要的错误,一是语法错误(


syntax


error


),该类错误易于检测,因为代< /p>


码在编译阶段无法解析而不能正常编译通过。另一个是逻辑错误(


logical


error


),因为它与代码的实际执行密切 相关所以不易发现。





二、



项目测试的规划



项目测试内容:


-


-


-


-


-


-


-


-