Fork me on GitHub

测试理论摘抄

DDT·2022-09-05 13:34·55 次阅读

测试理论摘抄

1 测试分类

https://www.cnblogs.com/sharpest/p/8003905.html:
  软件测试从测试方式上分为黑盒测试和白盒测试,从测试范围上可分为单元测试、集成测试、系统测试、验收测试 。黑盒测试、白盒测试、单元测试是开发人员分在不同的开发阶段要做的事情;黑盒测试、集成测试、系统测试是测试人员在测试周期内级层做的工作;验收测试一般是在用户方做的工作。

黑盒测试:#

不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。 一般会有一个输入值,一个输出值,和期望值做比较。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

白盒测试:#

主要应用在单元测试阶段,是对代码级的测试,针对程序内部逻辑构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

单元测试(Unit Testing)#

是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试

集成测试:#

是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其它软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各个组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。也可以理解为在软件设计单元、功能模块组装、集成为系统时,对应用系统的各个部件(软件单元、功能模块接口、链接等)进行的联合测试,以决定它们能否在一起共同工作,部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。

系统测试:#

系统测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确,并非一项简单的任务,被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他的动态运行行为应该与软件规约进行对比。软件系统测试的方法很多,主要有功能测试,性能测试,随机测试等。

2 Bug分类

中小型的WEB项目,就自己的经验,在开发成型之后的测试、使用过程中主要会出现四类BUG:
  - 第一类是比较明显的错误。比如出现错别字,样式问题导致的页面显示混乱或对通用浏览器不兼容,表单字段合理性验证问题导致程序异常,页面之间的跳转出错,操作过程抛出程序异常(Exception),等。
  - 第二类是不容易发现的错误。比如多用户同时操作导致的并发问题,程序编写规则有误导致的数据准确性问题,业务处理过程中出现明显过失问题,如给予某个角色不应有的权限,等。
  - 第三类是在稍具规模的项目中常会出现的错误。比如由脚本、样式、程序导致的网络延迟,脚本、程序执行效率导致的响应速度过慢,数据量过大导致的数据库查询速度过慢,等等,大都是和性能相关的问题。
  - 第四类是新版本发布导致的问题。比如配置文件被不小心覆盖、替换或内容被手动更改,WEB项目中的附属安装程序包在发布新版本时不小心被不同版本替换,根据用户要求对功能进行修改之后出现新的BUG,等。
  上面并未提到可能的安全性问题,这方面不是我触及的项目所考虑的问题。在列举的这四类BUG中,第一类最为常见,这部分一旦发现,改起来相对容易,不会导致大的问题。第二类最为致命,不常见也不易被测试发现,如若在产品发布使用之后才被发现,很可能已经酿成祸端,数据的准确性或许已被破坏。第三类在小规模项目中不多见,即便出现较大数据的表,也大都在可控范围内。第四类是让我最头疼的,频繁的又相对简单的修改要求在项目发布之初是很常见的,而又很难针对每次的修改都进行全面测试,可每个简单字段的增删改都有可能导致出现新的BUG,所以常会有不可测问题出现。
  

posted @   浩然哉  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
/* 看板娘 */
浏览器标题切换
浏览器标题切换end
目录
点击右上角即可分享
微信分享提示