第一讲 测试知多少
作者:互联网
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)进入指定的目录
(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的用例以及其涉及的模块用例(担心打开代码时影响到模块的其他功能,故需执行涉及的模块用例),看看被影响的老版本或者模块是否正常。
◆随机测试:指测试中所有的输入数据都是随机生成的,其目的模拟一个用户的一个真实操作,并发现一下边缘性的问题。
标签:1.4,第一,是否,代码,系统,知多少,测试,软件 来源: https://www.cnblogs.com/ZHH-CY/p/16541888.html