第一讲 测试知多少

1.1 计算机基础

1.1.1  计算机相关定义

◆软件和硬件:

软件:当电脑启动时的应用程序,应用软件(腾讯,qq,有道云,有道翻译)、系统、网页、驱动(看得见、摸不着)

硬件:计算机的硬件是计算机的各种设备的总称,分为五个部分:

(1)运行器(cpu)(2)控制器(主板)(3)存储器(硬盘)

(4)输入设备(键盘,鼠标) (5)输出设备(显示器,音响)

鼠标、内存条、CPU、硬盘、显示屏、摄像头(看得见、摸得着)

★硬件和软件,相互依存,无严格界限,协同发展

◆PC机:个人电脑(超级计算机,小型机,大型机,工作站)

◆物理机:是相对虚拟机而言的实体计算机的称呼,物理机提供个虚拟机以硬件环境,优势也称为‘寄主’或‘’宿主‘。理解为一台电脑(一般用来做服务器)

◆便携机:也是一台电脑(里面转了大型的基站工程项目、跟卫星连接)

◆OS:操作系统。windows 系统、macos系统、linux系统、安卓系统、ios系统、塞班系统、鸿蒙系统

浏览器:Chrome(谷歌浏览器)、Firefox(火狐浏览器)、IE浏览器等等

屏幕:滴水屏、刘海屏、曲面屏、折叠屏  

分辨率

系统版本:安卓系统版本 苹果系统版本ios15 ios14 ios13

◆dos窗口和命令:win键+r 输入cmd进入dos窗口

 dos命令:(1)ipconfig    如:IP地址 192.168.1.28

 ipconfig -all  差栏目所有配置mac地址(也叫物理地址)

(2)切换盘符     盘符名:

   (3)dir查看目录下所有的文件

(4)进入指定的目录      cd

(5)md   创建目录            (6)rd  删除目录 

(7)cls 清屏                    (8)查看网络连接状态ping

(9)del  删除文件          (10)copy  复制

◆共享:共享资源,共享数据,共享信息。svn(版本控制器),github

◆备份:在拷贝一份,备份系统,备份数据。复制再保存一份

文件与文件夹

◆单机软件:一般指的是不收费的软件,不需要联网的软件。开心消消乐,微信跳一跳

◆共享软件:一般功能是不收费,但是部分功能是收费。有道云笔记,腾讯会议,百度网盘

◆开源软件:公开的软件,一般不收费的软件,代码是开放的

◆商业软件:都是收费,把软件当做一个商品交易

◆app:手机端的应用

1.1.2目录与路径:(重点)

1、目录:用来存放文件夹

2、路径:绝对路径

3、绝对路径:从根目录/盘符出发,到达目标文件/目录,给定了具体的盘符,具体的路径

例:中国:\上海浦东新区\金高路2330号\盛汇商业广场\四楼410-2\1号教室

4、相对路径:相对当前位置的一个路径

例:四楼410-2\1号教室

1.1.3客户机与服务器 ==(抖音、支付宝)重点

◆client server:通过客户端去访问服务器、简称叫做C/S架构 (通过APP手机去访问服务器)抖音,微信,qq,快手,酷狗

优点:方便快捷、功能多、稳定、上传下载的速度相对较快、比较安全不容易中病毒

缺点:需要安装,升级,更新,维护,服务性相对来说难维护。APP需要下载安装耗流量,占内存,不能运行大型软件

◆browser server:通过浏览器去访问服务器、简称叫做B/S架构(打开chrome浏览器去访问京东)。(京东,淘宝、论坛,百度,知乎,豆瓣,csdn,博客园)重点   (web)

优点:能运行大型的软件、服务器升级维护非常的容易

缺点:相对不安全容易中病毒,上传下载的速度相对较慢,信息容易泄露

1.1.4人员架构

CEO  首席执行官      CTO 首席技术官

◆客户:

客户需求:客户的要求  (产品经理)

项目:根据客户需要实现的产品去立项

项目需求:产品经理再客户的需求的基础上,进行提炼

◆项目组的角色:

项目经理:简称PM,管理项目,负责项目的进展,工作的安排,从开发一款项目软件,直到系统上线。统筹整个项目组、管理测试经理和开发经理

◆开发经理:管理开发人员,安排开发任务

◆开发:(也称程序员)分为两种:前端开发,后端开发

  • Ø前端开发: 对页面的布局,前端代码的编写 如html
  • Ø后端开发:负责代码逻辑(python,java,c++,c,php,shell,.net)

◆产品经理:负责公司的产品,了解客户的需求,把客户的需求整理好提供给开发和测试,需求就是产品输出。对接客户、对接业务(管理手下有需求的人员)            

◆业务:专门了解需求

◆测试经理:简称TPM 管理测试组长(测试主管,测试组长)

◆测试组长:简称TL 管理测试人员

◆测试人员:简称TE 软件测试工程师、负责测试(编写测试用例,执行用例)

◆开发人员:编写代码 软件开发工程师

◆DBA:数据库管理员

◆运维人员:维护开发环境、测试环境、生产环境

◆UI设计:UI设计工程师,画高真保真图

1.2为什么要测试:

软件是由代码和文档组成,而这些都是由“人”来设计和编写的,人都有可能犯错。环境也会影响软件,以致于出现软件“失效”现象;软件的非正常运行或其自身的缺陷(BUG)会引发众多问题,软件测试活动只是关键的质量保障活动之一。

1.3什么是测试:

1、制造业角度定义:以检验产品是否满足需求为目标。

2、软件行业的定义:

◆说法一:验证软件的正确性

◆说法二:发现软件中的缺陷(“发现软件中的缺陷”的3种观点)

  • Ø观点1:测试是为了证明程序有错。
  • Ø观点2:一个好的测试用例在于它能发现以前未能发现的错误。
  • Ø观点3:一个成功的测试能发现前所未有的错误的测试。

1.4软件测试类型

1.4.1  按开发阶段划分

◆单元测试(unit test):指对软件的最小可测单元进行检查和验证,比如开发人员开发的单个功能接口,我们需要调用这些最小的单元接口做测试,经常使用的方法就是接口测试。就是代码测试,也称白盒测试,能够看到它内部结构也就是代码,对代码的逻辑以及数据进行测试(一般由开发人员进行测试)

◆集成测试(IT):就是测接口,也称灰盒测试 ,一些单独的模块虽然能正常运行,但是不保证集中在在一起也能正常工作,多模块集中在一起测试就叫做集成测试。

可分为两种:

  • Ø一种是在一个项目中,在单元测试基础上,根据业务把多个接口连接起来测试,这就是集成测试;
  • Ø另一种是跨项目集成,比如说项目直接存在接口调用关系,这种我们可以理解为多平台集成测试。

◆系统测试(ST):整个软件前后台都开发完成后,对软件的功能、界面、兼容性、易用性、可靠性、安全性、还有软件的性能进行整体的测试。

◆验收测试(UAT):用户验收测试,通常是由最终软件的用户进行的测试,因此是面向最终用户的测试,结束之后通常就可发布生产环境(正式环境)【测试人员在完成测试之后,移交给业务人员进行的UAT验收测试。】

1.4.2  按查看代码划分

◆黑盒测试

黑盒测试也称功能测试,测试中把被测试的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据。可以细分为:

  • Ø逻辑功能测试:检查逻辑是否正常
  • Ø界面测试:验证软件用户的界面的设计是否符合用户期望或要求,其常包括菜单、对话框以及对话框上所有的按钮、文字、图片排版、报错提示、帮助信息等等方面的测试。

◆白盒测试

白盒测试又称结构测试,透明测试,逻辑驱动测试,或基于代码测试。

白盒测试是指打开盒子去研究里面的源代码和程序结果【查看代码进行查找缺陷,看代码是否符合逻辑】

◆灰盒测试

灰盒测试是介于白盒测试和黑盒测试之间一种,灰盒测试多用于集成测试阶段,不仅关注输入,输出的正确性,同时也关注程序内部的情况。【就是测试接口,既关注代码层面和功能层面,介于黑盒测试和白盒测试之间】

1.4.3  按是否运行划分

◆静态测试
静态测试是指不运行被测程序本身,仅通过分析和检查源代码的语法,结构,来检查程序的正确性;(包括:需求,软件设计说明书等)【不实际运行被测软件,而是静态的检查程序代码的逻辑,界面或者文档是否可能存在错误的过程】

◆动态测试

动态测试:是指通过运行被测试程序,检查运行结果与预期结果的差异,并分析运行效率,正确性,健壮性等。【实际运行被测软件,输入相对应的数据,检查实际操作的输出结果与预期结果是否符合的过程】

1.4.4  按测试对象划分

功能性测试:又叫做黑盒测试,我们要用到的功能,进行一个验证,功能能否正常使用。比如说QQ微信的聊天功能、支付宝的支付功能、抖音的作品发布,浏览功能   

性能测试    

安全测试

安全性测试:银行、证券、政府机构,软件到底安不安全,能不能防止别人的入侵,修改数据  

兼容测试

1.4.5  按测试实施对象组织划分

  • Øalpha测试(α测试)(内测)

就是把用户请到公司内部进行测试使用,α测试就是由一个用户在开发环境进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试   

  • Øbeta测试(β测试)(公测)

用户在不同场所进行测试。β测试是一种验收测试,β测试是由最终的软件用户在一个或者多个场所进行

1.4.6  按是否手工执行测试

◆手工测试

手工测试就是人一个个的执行用例,然后关注结果和测试相对应,

缺点:执行效率慢,量大容易出错

◆自动化测试

自动化测试:通过工具或代码代替受用测试

ui自动化,接口自动化

1.4.7  按测试区域划分

◆本地化测试(中国)

◆国际化测试

(1)日期(2)金钱(3)度量单位(4)语言(5)外观等

1.4.8  其他测试类型

需求测试:例如我们要开发一个电商平台,需要又购物车,产品列表,客服聊天支付等等的功能,我们会把这些要求写进一个文档里面。 这个文档叫做需求文档,我们对需求文档的一个验证/校验的过程就叫作:需求测试

界面测试:对外观的一个测试,软件、系统页面设计、文字、图片排版、模块展示是否合理。公司里面有一个职位:ui设计工程师,专门去画效果图,高保真图

可靠性测试:一个电梯,我要去它从这个1-15楼只用两分钟完成,并且平稳,顺畅

可用性测试:只负责把你从1楼送到15楼,但不保证在2分钟之内,也不保证平稳,顺畅

注意:可靠包含可用,一个如果可靠,那么一定可用的,但是如果可用,但不代表可靠

可移植性测试:在不同条件、不同地方环境是否正常使用

易用性测试:从软件使用的合理性和方便性等角度来对系统进行检查,来发现软件中不方便用户使用的地方。

压力测试:属于性能测试的范围类型,比如电梯有个最大承重能力,我们不断施加质量,来去检测电梯的质量

临界值:如电梯的2000KG为临界值,突破临界值既不断加压来检测电梯质量以此来突破这个临界值

负载测试:不断逼近临界值,一直停留在临界值上,看它能运行多久

APP安装测试:验证软件是否能正常的安装卸载。

冒烟测试:指在对一个新版本进行系统大规模测试之前,先验证一下软件的基本功能是否正常,主流程是否正常,是否具备可测性。

回归测试:版本迭代过程中,上线之前重复执行 以前测试时发现bug的用例以及其涉及的模块用例(担心打开代码时影响到模块的其他功能,故需执行涉及的模块用例),看看被影响的老版本或者模块是否正常。

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

posted @ 2022-08-01 21:21  AllWillGoOn  阅读(429)  评论(0编辑  收藏  举报