测试理论基础概念

Posted 小鹿可可乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试理论基础概念相关的知识,希望对你有一定的参考价值。

1.软件测试

1.1定义

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程;

1.2目的

尽可能多的发现软件缺陷,bug是测试过程中的产品而非目标,检查系统是否满足要求,站在用户角度思考产品或项目功能实现的正确性;
测试的目的不仅仅为了找出错误,通过分析错误产生的原因和错误的分部特征,帮助项目管理者发现当
前所采用的软件过程的缺陷,以便改进。同时,通过分析也能帮助我们设计出针对的检测方法,改善测试的有效性,

1.3软件测试V模型(重要)

V 模型是软件测试过程中的常见⼀种模型,它反映了开发过程和测试过程的关系,在测试软件中起着重要作用。
在这里插入图片描述
左边开发阶段,右边测试阶段
V模型的价值在于它非常明确的表明了测试过程中存在的不同级别,并且清楚的描述了这些测试阶段和开发过程各个阶段对应的关系

  • 需求分析:主要明确客户需要的是什么?需要软件做成什么样子,还有那些功能。这点⽐较关键的是需求分析师和客户沟通时理解能力和交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出需求规格说明书。
  • 概要分析:主要是架构的实现,指搭建架构,表述各模块功能、模块接口连接和数据传递的实现等各项事务。
  • 详细设计:对概要设计中表述的各个模块进行深入分析,对各个模块组合进⾏分析等,这⼀阶段要求达到伪代码级别,已经把程序的具体实现功能,现象等描述出来。其中需要包含数据库设计说明。
  • 软件编码:按照详细设计好的模块功能表,编程人员编写出实际的代码。
  • 单元测试:单元测试是对程序中单个儿子程序或具有独立功能的代码段进行测试的过程
  • 集成测试:集成测试在单元测试的基础上,先通过单元模块组装成系统或子系统,再进⾏测试。中带你是检查模块之间的接⼝是否正确。
  • 系统测试:系统测试针对整个产品进⾏测试,验证系统是否满⾜需求规格说明的定义,以及软件系统的正确性和性能等是否能满⾜。
  • 验收测试:验收测试是部署软件前(运维工程师进⾏代码部署操作)的最后⼀个测试,⽬的是确保软件准备就绪,向需求⽅展示软件能够满⾜需求,分为α测试和β测试。
    α测试: 指的是由用户,测试⼈员,开发⼈员等共同参与的内部调试
    β测试: 指的是内测后的公测,即完全交给最终⽤户测试

1.4软件缺陷

  1. 软件为达到客户需求的功能和性能
    2)软件查出了客户需求的范围
    3)软件出现客户需求不能容忍的错误
    4)软件的使⽤未能符合客户的习惯和⼯作环境

2.软件测试分类

2.1软件开发阶段

单元测试,集成测试,系统测试,验收测试

2.2软件结构与算法角度

⽩盒测试,⿊盒测试,灰盒测试
白盒测试:(结构测试)透明盒测试、测试员必须要全⾯了解程序的内部逻辑结构,对所有逻辑路径进⾏测试。
⽩盒测试流程参考链接:https://blog.csdn.net/alexander_frank/article/details/51287601
黑盒测试:(功能测试)是通过测试来检测每个功能是否都能正常使⽤,在完全不考虑程序内部特性的情况下,对程序接⼝进⾏测试,它只检查程序功能是否按照需求规格说明书的规定正常使⽤,程序是否能适当的接受输⼊程序⽽产⽣正确的输出信息。
灰盒测试:是介于⽩盒测试和⿊盒测试之间的,灰盒测试关注输出对于输⼊的正确性,但同时也关注内部实现,不过这种关注不像⽩盒测试那么详细,完整,知识通过⼀些表征性的现象,事件,标志来判断内部的运⾏状态。

2.3软件的测试面角度

功能测试 ,性能测试
功能测试:⾏为测试(behavioral testing)
主要检查实际功能是否符合⽤户的需求,因此测试的⼤部分⼯作也是围绕软件的功能进⾏。

功能测试主要包含:
1)逻辑功能测试
2)界面测试
3)易用性测试
4)安装测试
5)兼容性测试(软件本身的兼容性和不同平台下的兼容性)
性能测试:性能测试通过自动化的测试工具模拟多种正常,峰值以及异常负载条件 来对系统进⾏各项性能指标进行测试。
包括:时间性能和空间性能。
时间性能:主要指软件的⼀个具体响应时间。
空间性能:主要指软件运⾏时所消耗的系统资源,如硬件资源,cpu,内存,网络消耗等。

2.4软件测试周期中使用的方法(重要)

冒烟测试,回归测试,随机测试,探索性测试和安全测试
1)冒烟测试
指在对⼀个新版本进行大规模的系统测试之前,先验证软件的基本功能是否实现,是否具备可测性。
2)回归测试
指修改了旧代码后,重新进⾏测试以确认修改后没有引⼊新的错误或导致其他代码产⽣错误
3)随机测试
是指测试中的所有输⼊数据都是随机⽣成的,其⽬的是模拟⽤户的真实操作,并发现⼀些边缘性错误
4)安全测试
在软件产品的⽣命周期中,特别是产品开发过程基本完成到发布阶段,对产品进⾏检验,以验证产品符合安全需求定义和产品质量标准的过程

今天也要好好学习呀~

以上是关于测试理论基础概念的主要内容,如果未能解决你的问题,请参考以下文章

白盒测试理论基础

软件测试理论基础总结

软件测试基础理论

2 - 进程理论基础

软件测试基础理论体系学习1-软件测试背景和测试基础

python 进程理论基础