软件测试的基本概念

绝世美人儿
927次浏览
2021年02月21日 09:07
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:马智宇婚礼主持视频)


软件测试的基本概念




















一:什么是软件测试



.


............................................. .................................................. .......


1



二:什么是软件质量



.


............................................. .................................................. .......


2



三:软件测试与软件质量的区别



.< /p>


........................................ ..........................................


2



四:软件测试的内容



.


............................................. .................................................. .......


2



五:软件测试的目的



.


............................................. .................................................. .......


2



六:软件测试的分类(面试问题)



.


....................................... .......................................


2



七:黑盒,白盒,灰盒测试概念



.< /p>


........................................ ..........................................


2



八:软件测试模型(面试常问到的问题)


.


.................................... ..............................


3



V


模型



.< /p>


........................................ .................................................. ....................................


3



W


模型



.< /p>


........................................ .................................................. ...................................


3



H


模型



.< /p>


........................................ .................................................. ....................................


4



X


模型



.< /p>


........................................ .................................................. ....................................


5



九:软件测试生命周期:



.


........................................... .................................................. .


5



白盒测试方法



.

................................................ .................................................. ........................


5



白盒测试具体实施办法



.

< p>
............................................ .................................................. ............


6



1


:代码检查



.


..................................... .................................................. .............................


6



2


:代码走查:


.


.................................... .................................................. ..........................


7



3


:同行评分:


.


.................................... .................................................. ..........................


7



4


:覆盖测试:


.


.................................... .................................................. ..........................


7



黑盒测试具体实施办法



.

< p>
............................................ .................................................. ............


7



等价类划分法:



.

< br>............................................... .................................................. .............


8



边界值分析法:



.

< br>............................................... .................................................. .............


8



因果图法:



.


................................................. .................................................. ...................


9



错误推测法:



.

................................................ .................................................. ..............


1


0


场景分析法:



.

................................................ .................................................. ..............


11


黑盒测试的优缺点



.


.............................................. .................................................. ................


11



一:什么是软件测试






软件测试,目前定义混杂,没有统 一的标准,但是最经典的定义是:在规定的条件下对


程序进行操作,以发现错误,对软件 质量进行评估的一个过程。



二:什么是软件质量






软件质量包括:内部质量,外部质 量,使用质量。软件质量:软件满足规定或潜在用户


需求的能力。



三:软件测试与软件质量的区别






质量保证(


QA



:主要工作是通过预防,检查与改进来保证软件质量。 它所关注的是软


件质量的检查与测量。


着眼软件开发活动中的过 程,


步骤及产物,


而不是对软件进行剖析进

而找出问题。






软件测试:


测试关心的不是过程的活 动,


而是对过程的产物以及开发出的软件进行剖析。


测试人员要 “执行”软件,对过程中的产物



开发文档和源代码进行走查, 运行,以找出问


题,


报告质量。


测试人 员也必须假设软件存在问题,


所以所做的操作都是为了找出更多的问

题,而不仅仅验证每一件事是正确的。



四:软件测试的内容







根据测 试定义,


测试贯穿于整个软件生命周期中。


在开发的不同阶段,


需要测试不同的


内容。包括文档,源代码,数据等。

< p>


五:软件测试的目的







测试的 目的,


是想以最少的人力,


物力和时间找出软件中潜在的各种错 误与缺陷,


通过


修正各种错误和缺陷提高软件质量,

< p>
回避软件发布后由于潜在的软件缺陷和错误造成的隐患


以及带来的商业风险 。


(注意这个问题的答案,经常会与软件测试的定义混淆)



六:软件测试的分类(面试问题)







按开发阶段来分:单元测试,集成测试,系统测试,验收测试。







按测试的实施单位来分:开发方测试,用户测试,第三方测试。







按测试技术:白盒测试,黑盒测试,灰盒测试。



七:黑盒,白盒,灰盒测试概念







白盒测 试:


知道产品内部工作过程,


可通过测试来检测产品内部是否按 照规格说明书的


规定正常进行,


按照程序内部的结构测试程序,


检验程序中的每条通路是否都能够按照预定


要求正确工作,


而不管产品的性能。


它包括两种测试方法:静态测试和动态测试。< /p>


静态测试


时不通过执行程序而进行测试的技术,

< br>其关键功能是检查软件的表示和描述是否一致,


没有


冲突 或者产生歧义。


而动态测试需要软件的执行,


当软件系统在模拟 的或真实的环境中执行


之前,之中,之后,对软件系统行为的分析是动态测试的主要特点 。







黑盒测试:


是一种非常重要的测试策 略,


又称为功能测试。使用这种测试方法,将程序


视为一个黑盒 子。


测试目标与程序内部机制和结构完全无关,


而是将重点集中 放在发现程序


不按其规范正常运行的环境条件。







灰盒测试:


结合了白盒与黑盒的要素。


关注 输出对于输入的正确性,


同时也关注内部表


现,但不像白盒那样 详细,完整,只是表征性的。



八:软件测试模型(面试常问到的问题)



V


模型



用户需求



验收测试



需求分析与系统设计



确认测试与系统测试



概要设计



集成测试



详细设计



单元测试



编码




从这 个图,


可以直观的观察到测试过程的局限性,


它把测试过程放在 了需求分析,


概要设计,


详细设计与编码之后了,


容易使人理解测试是软件开发的最后一个阶段,


主要针对程序进行

< p>
测试寻找错误了。而需求分析阶段隐藏的问题只能在最后才能发现。所以,


这个图形,


不能


很好的反应软件测试贯穿整个开发的过程。


(笔者个人认为这种图形,比较适合黑盒测试)



W


模型



在< /p>


V


模型的基础上,演化出


W


模型。



用户需求



用户需求


&


验收测试设计

需求分析与系统设计


&


验收测试设计



交付



验收测试



需求分析与系统设计



实施



确认测试与系统测试



概要设计



概要设计

< br>&


集成测试设计



集成



集成测试



详细设计



详细设计

< br>&


单元测试设计



单元测试




编码






根据图形,很容易看出,


W


模型比


V


模型更科学,它伴随着整个开发过程, 而且测试对象


不仅仅是程序,同时也测试需求与设计。



H


模型




测试准备














测试就绪点













测试执行













测试流程



其它流程




H


模型:测试条件只要成熟,测试准备活动完成了,那么就可以执行测试活动。在


H


模型


中,测试模型是一个独立的过程,贯穿 于整个产品周期,


与其他流程并发的进行。


当某个测

< p>
试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。



X


程序片段


1


测试设计



工具配置



执行测试



编码完成



执行测试



工具配置



测试设计



程序片段


n



封板




执行测试



测试设计



工具配置



集成


1


……


n



探索性测试



执行测试





九:软件测试生命周期:







软件测 试


生命周期一般包括


7


个阶段:


1


)计划



2


)分析,


3


)设计,


4


)构建,


5


)测

试周期,


6


)最后


测试

< p>
和实施,


7


)实施后。









白盒测试方法




白盒测试方法包括动态和静态。



静态 包括:代码检查,静态结构分析,代码质量度量等。代码检查又包括:代码走查,桌


面检 查,代码审查。



代码走查与检查都要求一个小组的人员来阅读 或直观检查特定的程序。经常采用头脑风暴


.


注意一点:头脑风暴,是测试,非调试。



头脑风暴的程序:



1


:准备阶段







确立问题,提前一周通知给参加人员,一遍又独立思考的时间。



2


:头脑风暴





主持人简明介绍讨论问题的内容,


扼要介绍各种系统的设想和方案,


然后激发参加者踊跃

-


-


-


-


-


-


-


-