《第一部分:什么是测试》

news/2024/7/7 7:50:26

目录

一、什么是软件测试(有哪些分类)

二、专业术语

三、为什么要测试、什么是测试

(一)为什么要测试?

(二)什么是测试?

四、通常软件生命周期包括哪些阶段?

 五、典型的软件生命周期模型有哪些?

(一)软件测试周期模型7类

(二)瀑布模型(waterfall)

(三)V模型:指的是项目阶段

(四)H模型:指的是项目流程

4.1:H模型的项目流程步骤如下:

4.2:回归测试需要测试哪些内容?

4.3:单元小结

 六、结束语



一、什么是软件测试(有哪些分类)

--------------------------------------------------------------------------------------------------

1.需求测试:制作杯子的使用说明书

2.界面测试:外观(与ui设计工程师设计的界面进行做对比

3.功能测试:杯子是否漏水等,以及能否喝到里面的水

4.安全性测试:制作材料是否对人体有伤害(如:金融类、个人信息)(SQL注入、XSS跨站点攻击

5.可靠性测试:杯子从高处落下的损坏程度(在规定的时间内完成规定的事情

可靠性:通常是指元件、产品、系统在一定时间内、在一定条件下无故障地执行指定功能的能力或可能性)能够正常运行的概率或时间占有率期望值)

6.可用性测试:事情虽然已经完成,但是时间未达到出场标准。可靠性包括可用性

可用性:在某个考察时间,系统能够正常运行的概率或时间占有率期望值。)

7.可移植性测试:在不同地方不同环境是否正常使用(在不同的环境运行和调试

8.兼容性测试:除了装水外是否支持装其它液体(web端、app手机端、pc电脑端、手机系统、系统版本、手机型号、硬件兼容性等

(例如在web端: chrome(谷歌),IE,Firefox (火狐)浏览器,360浏览器,搜狐浏览器,safari浏览器,QQ浏览器等浏览器的兼容性

(例如:手机系统:ios,Android, windows phone,Harmonyos鸿蒙,塞班

(例如:系统的版本:Android 4.x5.x......11.x、ios: 7.x 8.x 9.x ...14.x)

(例如:手机型号:华为手机,oppo手机, vivo手机,小米)

9.易用性测试:使用是是否烫手等(站在用户体验的角度出发:使用的是否顺手、站在用户角度看产品好不好用、是否麻烦、是否节省操作步骤

(例如:登录操作:登录账号密码输错没有提提示、站在用户体验的角度出发)

10.性能测试(分为压力测试、负载测试):不断对杯子施加重量

压力测试:测试访问量的极限、临界值解决办法:公司需要紧急扩容)(例如:有个人举重,100斤为临界固,不断加压,看能举多重)

负载测试:测试百万级用户使用产品时所使用的时长(例如:有个人举重,100斤为临界值,持续举重100斤,看能举多长时间)

二、专业术语

--------------------------------------------------------------------------------------------------

IT行业专业基础术语:软件与硬件,pc机,物理机,便携机;OS,dos命令与图形化界面,共享,备份;

文件与文件夹,目录与路径;相对路径与绝对路径;客户机与服务器,浏览器与服务器;单机软件与共享软件,app;

项目与项目需求,客户与客户需求,项目角色;项目组成员,软件测试工程师TE,测试组长TL,测试经理TPM)

1.软件:看得见摸不着(QQ,微信)

2.硬件:看得见摸得着(鼠标,内存条,键盘,显示器)pc机:个人电脑

3.物理机:高配置的计算机

4.便携机:方便携带的高配置计算机

5.OS(指操作系统):windows操作系统,Linux操作系统, macos操作系统(苹果)

6.dos命令: 快捷键win+r cmd (C:\Program Files (x86)Tencent\QQLite\Bin\QQScLauncher.exe)

7.图形化界面:

8.共享:

10.备份:单独再保存文件:

11.绝对路径:跟陌生人说话,把路径说全,从根目录出发

12.相对路径:跟熟人说话,从当前路径出发

13.客户机与服务器:CS架构(Client-Server),属于应用程序软件、APP类型的都是CS架构。

优点:携带式方便、安全性高、上传下载快)(缺点:更新需要下载、占用手机内存、服务器维护比较麻烦)

(1)优点:

  ●能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。

  ●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。  

  ●C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

  ●安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。

(2)缺点:

  ●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

  ●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。  

  ●开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。。

  ●用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。

14.浏览器与服务器:B/S架构(BrowserServer),一切应用从网页中打开的应用都是属于BS价格。

优点:资源较多,不需要占用本机内存,维护服务器相对客易)(缺点:不方便携带,安全性较低,客易中病毒)

(1)优点:

  ●分布性强,客户端零维护:只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。 

  ●业务扩展简单方便:通过增加网页即可增加服务器功能。  

  ●维护简单方便:只需要改变网页,即可实现所有用户的同步更新。 

  ●开发简单,共享性强。

(2)缺点:

  ●个性化特点明显降低:无法实现具有个性化的功能要求。 

  ●在跨浏览器上,BS架构不尽如人意。

  ●客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。 

  ●在速度和安全性上需要花费巨大的设计成本。

  ●功能弱化,难以实现传统模式下的特殊功能要求。

小结:CS响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高;BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用BS,在实际生产中使用CS结构。

15.客户与客户需求:

16.项目与项目需求:其中项目需求是由产品经理写产品赛求。

17.项目角色:

产品经理:输出需求交档,对接客户,洽谈业务。

项目经理:统筹管理整个项目组,直接给开发经理和测试经理分配任务。

开发经理:管理开发人员(开发人员主要作用编写代码程序)。

测试经理(TPM):管理测试人员(TPM:Test Project Manager),其中包括测试组长(TL)(TL:Test Leader)、测试组员(TE)(TE:Test Engineer)。

UI设计工程师:出界面的设计模型。

BDA:数据库管理员(database admin)。

运维:维护公司的测试环境、开发环境、生产环境的稳定。

CMO:配置库管理员(主要管理公司的配置文件)

三、为什么要测试、什么是测试

--------------------------------------------------------------------------------------------------

(一)为什么要测试?

1.软件的非正常运行或其自身的缺陷(BUG)会引发很多问题。

2.软件是由代码和文档组成的,而这些都是由 “人”来设计和编写的,人都有可能犯错。

3.环境也会影响软件,以致出现软件“失效”现 象。

4. 软件测试活动只是关键的质量保证活动之一

(二)什么是测试?

1.造业的定义: “以检验产品是否满足需求为目标”

2. 软件行业的定义,

有多种说法:

 a:验证软件的正确性

 b:发现软件中的缺陷(站在测试角度:单选的话b是对的)

四、通常软件生命周期包括哪些阶段?

--------------------------------------------------------------------------------------------------

(1)客户问题引入或定义

(2)可行性分析(涉及经济(商业论证),政治,法律,技术等)

(3)项目招投标

(4)项目立项

(5)需求分析

(6)开发阶段(设计,编码,测试)

(7)项目上线:将代码上传到生产环境(以供客户使用)

(8)维护:

 五、典型的软件生命周期模型有哪些?

--------------------------------------------------------------------------------------------------

(一)软件测试周期模型7类

(1)瀑布模型(waterfall):属于串式(前面没做完,后面程序无法进行的一种模式)

(2)V模型:指的是项目阶段

(3)W模型:

(4)H模型:指的是项目流程

(5)敏捷开发模型

(6)迭代开发模型

(7)增量开发模型

(二)瀑布模型(waterfall)

瀑布模型(waterfall):属于串式(前面没做完,后面程序无法进行的一种模式

(三)V模型:指的是项目阶段

1.单元测试(UT):简称为白盒测试,开发人员对自己编写的代码进行测试(知道内部逻辑的测试),又称为开发自测

2.集成测试(IT):简称为接口测试,灰盒测试,又称为IT测试阶段。

3.系统测试(ST):保证自身功能正常使用,还需要保证与第三方系统的对接(例如:支付功能需要兼容微信、同时也需要兼容支付宝等),这个阶段主要做黑盒测试。

注意:ST和IT合并称为SIT,即系统集成测试

4.验收测试(UAT):

      α(阿尔法)验收测试:模拟用户的行为对软件进行操作/测试。这个时候有开发人员和测试人员在场,如果发现bug,直接提交给到开发人员进行修复。

      β(贝塔)验收测试:软件已经交付到客户手中,由客户去进行验收。如果发现问题,则由客户统一收集所有的问题,以邮件的方式发送给到与当前项目有关的所有的同事,开发人员收到邮件及时进行跟踪,负责解决。

5.面试题:

你做的项目当中,项目会经历哪些阶段,并且每个阶段的输入(准入)与输出(准出)由哪些?

注意:以下输入输出属于,上一个阶段输出属于下一个阶段的输入。

(四)H模型:指的是项目流程

4.1:H模型的项目流程步骤如下:

(1)SRS澄清(也称作为需求评审):产品经理组织项目全体相关人员参加澄清会议进行需求分析,并由产品经理一人主持演讲,当SRS澄清会议通过之后,并出需求基线化文档也就是需求规格说明书)(基线化:意思是当前状态不会轻易修改)。

(2)当开发线进行概要设计(HLD)的时候,而测试线进行评审概要设计(review HLD),并继续了解说需求明书(SRS)

(3)当开发线进行详细设计(LLD)的时候,而测试线进行评审详细设计(review LLD),并继续了解需求说明书(SRS)、并且测试经理(TPM)输出测试计划。

(4)当开发进行coding的时候,测试人员(TE)需要输出测试用例(TC:TestCase)、进行多类型评审、最后进行上传用例。

多次评审:测试组员进行

交叉评审:测试组内同事之间对用例进行评审

组内评审:项目组内对用例进行评审(项目,产品。开发,测试经理)

会议评审:会有客户参加

Testlink:用例管理工具(一般使用“禅道”工具:用例管理工具)、最后就是任务分配,谁编写的用例谁去测试

(5)测试经理(TPM)或者骨干成员或者运维工程师进行测试环境搭建,开发编程完并提交项目包,由测试经理(TPM)将项目部署在测试环境下(基于Liunx系统)。并进行冒烟测试(对产品的主体功能进行测试)如果主体功能不通过,测试会将开发的代码打回给到开发进行修复,冒烟测试通过,进入系统集成测试(也就是SIT测试)。

(什么是主体测试?例如:测试汽车时候,汽车主体功能无法跑;而测试网页界面的时候,主体功能登录无法进行登录操作。)

(6)提测:是在冒烟测试(主体测试)不通过的前提下开发修复完成后并将代码打包提交给到测试,又称为转测

(7)SIT测试分为:

SIT1:称为第一轮系统集成测试,又称为全量测试(测试全部编写的测试用例),需要执行所有编写的测试用例,发现了bug

直接提交给到开发人员进行修复(假如写了1000条用例,要执行1000条用)

SIT2:称为第二轮系统集成测试,又称为回归测试,还称为增量测试(需要测试新增加的用例)。测试上一轮发现的bug用例、新增加的用例测试、测试上一轮发现bug的相关模块用例、同时也需要进行冒烟测试(假如写了1000条用例,要执行450条左右)

SIT3:回归测试(假如写了1000条用例,要执行200条用)  

SIT4:回归测试(假如写了1000条用例,要执行80条用)

(8)达到测试标准,输出测试报告,并将测试代码上传至生产环境。

4.2:回归测试需要测试哪些内容?

1、需要测试上一轮发现bug的用例

2、新增加的用例需要测试

3、每—轮都需要进行冒烟测试

4、要测试上一轮发现bug的相关联模块的用例

4.3:单元小结

(1)上线的标准:没有bug(0bug)

(2)正常的项目团队,在测试阶段,它的一个bug趋势是快速收敛

(3)测试环境:是提供给到测试人员使用的环境

(4)开发环境:是提供给到开发人员使用的环境,编写代码和提交代码的环境等等。

(5)生产环境:可以称为线上环境,也可以称为真实环境。

(6)项目与产品的区别:先有项目后有产品

(7)项目与版本的区别:先有项目后有版本

(8)所有项目组相关人员参加需求澄清会议,需求澄清会议由产品经理召开,并且主讲由产品经理一人演讲。

 六、结束语

--------------------------------------------------------------------------------------------------

        最后如果在线的读者你喜欢的话可以留下一个小小的“笔芯”,同时在本文中有什么问题,或者有错误的地方,也可以留言告诉【大大大钢琴(作者)】,我会第一时间纠正。

 学习和成长本就是这样,痛并快乐着,而又是一个漫长的过程,因为有你们的分享和大家的互相监督学习,才能够不断的进步和成长。


 


http://www.niftyadmin.cn/n/4288932.html

相关文章

手机阅读让我抽空学习

下载Moto-Txt手机阅读器 爽! 总体感觉还不错, 以后搭地铁时有事儿做咯:D

《第二部分:TortoiseSVN的基本概念以及使用方法》

《第二部分:TortoiseSVN的基本概念以及使用方法》 目录 一、SVN的基本概念 二、SVN服务端安装 三、SVN客户端安装 四、SVN的基本操作使用 (一)TortoiseSVN客户端操作步骤: (二)SVN中常用的概念和操作…

字帖

中国钢笔书法集锦 中外名人格言钢笔字帖 好久没练钢笔字了, 真怀念过去的日子啊! 在这个计算机泛滥的时代, 大家的手想必都生了吧, 在这里让我们一起重新开始......

RabbitMQ安装部署(CentOS7)

安装Erlang RabbitMQ官方文档提供了三种方式安装Erlang,这里我们使用RabbitMQ官方推荐的方式,也就是基于packaged的方式,此方式只提供了运行RabbitMQ必要的组件,如果你需要完整的Erlang的环境,需要更换安装方式。 [Rab…

《第三部分:熟悉Liunx系统+创建虚拟机》

《第三部分:熟悉Liunx系统创建虚拟机》 目录 一、认识Liunx系统 (一)什么是Linux系统 (二)现如今Linux主流发行版本: (三)为什么要学习Linux系统 二、VMware 虚拟机安装步骤 三…

不吃Papa Pizza--棒约翰

<script languageJavaScript> eLong_Affiliate_MemberID 4053787; </script><script language"javascript" src"http://icons.elong.com/adjs/jd_jp/sw/13.js"></script> 我订了一个9寸的Papa Pizza&#xff0c;总价68门&#xf…

Mysql5.7.19安装后错误日志中有警告

警告1&#xff1a; secure_file_priv 配置项对数据导入导出的影响 1、限制mysqld 不允许导入 | 导出 mysqld --secure_file_privenull MySQL [ztjy]> select * from info_posts limit 10 into outfile /usr/local/src/info_posts_tmp.txt; ERROR 1290 (HY000): The MySQL s…

《第四部分:测试用例--等价类、边界值与用例编写》

目录 关联实例练习文档 一、认识基本术语 &#xff08;一&#xff09;术语一 &#xff08;二&#xff09;术语二 &#xff08;三&#xff09;术语三:控制流图的概念 &#xff08;四&#xff09;圈复杂度计算公式 二、用例设计 &#xff08;一&#xff09;等价类 1.1 等…