当前位置:首页 > 青鸟知识 > 软件测试

软件测试基础知识:软件测试分类及策略

来源:长沙北大青鸟 发布日期:2017-03-21

  在软件测试中,软件缺陷的等级可以用严重性和优先级来描述;按软件测试的阶段分,可分为单元测试、集成测试、系统测试、验收测试;按测试方法划分,可分为白盒测试、黑盒测试、灰盒测试、性能测试、自动化测试、兼容性测试、易用性测试等。在进行软件测试前,分析软件开发过程及内容,制定科学合理的测试策略便显得尤为重要。

麓谷学院.jpg

  按测试阶段划分:

  1、单元测试

  对软件中的基本组成单位进行的测试,检验软件基本组成单位的正确性。

  2、集成测试

  在软件系统集成过程中所进行的测试,检查软件单位之间的接口是否正确。

  3、系统测试

  对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。

  4、验收测试

  验收测试是部署软件之前的最后一个测试操作,确保软件准备就绪,向软件购买都展示该软件系统满足其用户的需求。

  按测试方法划分:

  1、白盒测试

  白盒测试,指的是把盒子盖子打开,去研究里面的源代码和程序结果。

  它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作

  2、黑盒测试

  黑盒测试,指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。

  它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

  3、灰盒测试

  灰盒测试介于黑盒测试与白盒测试之间。

  可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

  4、性能测试

  性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

  5、自动化测试

  自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

  6、兼容性测试

  7、易用性测试

  8、安全测试

  安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。

  安全测试也在越来越受到企业的关注和重视,因为由于安全性问题造成的后果是不可估量的。尤其对于互联网产品最容易遭受各种安全攻击。

  9、探索性测试

  探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。

  10、随机测试

  是指测试中的所有输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。

  随机测试可以发现一些隐蔽的错误,但是也有很多缺点,比如测试不系统,无法统计代码覆盖率和需求覆盖率,发现的问题难以重现。一般是放在测试的最后执行。其实随机测试更专业的升级版叫探索性测试。

  软件测试的策略:

  软件测试策略反映了进行软件测试的指导思想及方法原则。在进行软件测试之前,分析软件开发过程及内容,制定科学合理的测试策略,是进行软件测试的首要问题。通常,软件测试策略分为传统的软件测试策略和现代的软件测试策略。

  1.传统的软件测试策略:传统的软件测试策略遵循瀑布模型,一般将软件测试放置在软件开发的最后阶段,该模型直接反映出对软件测试的不够重视,其缺点也是非常明显的,即可能将软件开发前期各部分的错误和缺陷累积到最后阶段,对软件测试造成很大的压力,使其不能明确地找出错误或缺陷到底出在哪个阶段,尤其对面向对象和多线程设计方法的测试,更是缺乏全面合理的效果。

  2. 现代的软件测试策略:现代的软件测试策略采用双V模型,体现了软件测试的重要地位,它贯穿了软件开发的全过程。

  在双V模型中,首先要制定测试目的,包括:一是证明软件系统能否正常工作的演示功能;二是能够发现问题的检错功能;三是测试系统的质量的预测功能;四是控制质量的预防功能;五是按顺序包含了预防、检错、预测及演示等功能,并向着集成化、自动化、智能化的方向演进的综合功能。

  因此,要根据实际情况选择实现相应功能的测试目的,是为了证明软件系统能正常工作,还是为了发现问题;是为了测试系统的质量,还是为了控制软件系统的质量。其次是确定测试对象和测试范围。

  测试对象可以是整个系统、子系统、模块、单元,也可以是某个变量、类、成员函数等;测试范围包括功能测试、性能测试、可靠性测试、疲劳测试、移植性测试、恢复性测试等。再次是对测试环境和测试方法的选择和描述。最后是对测试结构进行记录和分析,并对测试过程做全面的跟踪和管理。因此,双V模型测试策略成为现代软件开发过程中指导软件测试的首要选择。


拒绝套路 试听有礼

数据已加密保证您的信息安全