1.根据项目流程阶段划分软件测试

验收测试

需求分析->                         系统测试->

设计->                  集成测试->

编码->     单元测试->                            典型V模型开发流程

1.1测试按阶段详解

单元测试:按单元或模块测试是对程序中的单个子程序或具有独立功能的代码进行的测试过程

集成测试:集成测试是在单元测试的基础上,将通过单元模块组装成系统或子系统,再进行测试,重点是检查模块之间的程序接                         口正确性。

系统测试:系统测试是针对整个产品进行测试,充分运用系统以及系统下的子系统,验证系统是否达到了需求定义,以及软件的                         正确性和性能是否满足了规定的需求。

验收测试:验收测试是软件部署之前最后一个测试操作,验收测试的目的是为了确保权健准备就绪,向软件购买者进行展示该软                         件达到了用户的需求。

1.2白盒测试,黑盒测试,灰盒测试

白盒测试与黑盒测试,主要是根据在软件测试工作中对软件代码的可见程度进行划分:这也是软件测试领域的基本概念

黑盒测试:把软件比作不透明的黑色盒子,看不到程序内部的执行逻辑,只知道输入数据和执行结果。

他只检查程序呈现给用户的功能是否按照规格说明书的规定正常使用,程序能适当的接收数据和产生正确的输出数                          据,黑盒测试只针对程序外部结构,不考虑程序内部逻辑,主要针对软件的界面和软件的功能进行测试。

白盒测试:把软件程序看做一个透明盒子,可以看到程序的内部执行逻辑,我输入了*执行了哪一步我得到了*都可以看到

他是按照程序内部的结构测试程序,通过测试来检验产品内部动作是否按照规格说明书的规定正常进行,检验程序的                          每条执行路径都能按照预期要求工作。

灰盒测试:灰盒测试是介于白盒测试和黑盒测试之间,灰盒测试关注程序输入输入的正确性,同事也关注内部表现,不像白盒纤                          细完整,只是关注表征性的现象,事件,标志,来判断内部的执行状态,有事输出是正确的但是内部已经错误了,如                          果每次都采用百合测试效率会很低,因此需要采取灰盒测试的方法

1.3功能与性能测试

从对软件不同的测试件可以划分为功能和性能测试

功能测试:功能测试时检查实际的功能是否达到了用户需求,测试的大部分工作也是围绕着功能测试进行,设计软件的目的也是                         为了满足客户的功能需求,功能测试又可以细分为很多种:逻辑功能测试,界面测试,兼容测试,易用性测试,升级                          \安装\卸载测试

性能测试:性能测试是通过自动化测试工具模拟多种,正常峰值,异常峰值,负载条件,来对系统的各项性能指标进行测试,性                          能测试保函很多种主要有性能和空间两个方面。

时间性能:只要是指系统的具体响应时间,比如一个注册登录所需要的时间

空间性能:主要是指软件运行时所需要消耗的系统资源,比如硬件资源,CPU,内存,网络宽带消耗等

1.4手工测试与自动化测试

对软件测试工作的程度可以划分为手工测试和自动化测试

手工测试:手工测试是有一个人去执行测试用例,通过鼠标键盘等输入一些参数,查看返回结果是否符合预期。

自动化测试:自动化测试时吧以人为驱动的测试行为转换为机器人执行的一种过程,通常在设计用例,评审完成以后,由测试人                             员根据测试用例一步步执行测试,得到实际结果与期望结果的比较,造次过程中为了节省人力,时间,硬件资源,                             提高测试效率,便引入了自动化的概念

1.5功能自动化与性能自动化

功能自动化:我们一般说的自动化测试指的都是功能自动化测试,通过相关测试技术,通过编码的方式用一段程序来测试程序的                             功能,这样就可以重复的执行程序来重复的测试,如果软件的一小部分代码进行了修改,我们只需要修改一小部门                             的自动化代码就可以进行重复性的对软件软件自动化功能测试。

性能自动化:现在的性能测试工作都是通过性能测试工具辅助完成的,通过抹蜜成千上万的的用户发送请求,来验证系统的处                              理能力

1.5冒烟测试,回归测试,随机测试,探索测试,安全测试

这三种测试出现在软件测试周期中,即不是明确的测试阶段也不是具体的测试方法

冒烟测试:是指在一个新版本进行大规模测试之前,先验证一下软件的基本功能是否实现,是否具备可测试性,引入软件测试中                          就是指一个测试小组开始正规测试之前,投入较少的人力,时间。资源验证一个软件的主要功能,,如果主要功能都                          没有实现,则打回开发重新开发,这样的做法可以节省大量时间成本和人力成本。

回归测试:回归测试是指修改了旧的代码,重新进行测试以确认没有引入新的错误或导致其他代码出现错误,回归测试一般是在                         软件测试的第二轮开始的,验证第一轮发现的缺陷是否得到修复,回归测试是一个循环过程,如果回归的问题不通过                         需要开发人员再次修改后再次进行回贵,直到通过为止。

随机测试:是指测试过程中所有输入的数据都是随机产生的,目的是模拟用户真实操作,发现一些边缘性的错误,系统测试可以                         发现一些隐蔽性的错误,但是页游很多缺点,比如测试不系统,无法统计代码覆盖率和需求覆盖率,发现的问题难以                         复现,一般放在测试的最后执行,随机测试更专业的叫做探索测试

探索测试:探索测试可以说是一种测试的思维技术,他没有很多的实际测试方法,测试技术和工具,但却是所有测试人员需要掌                          握的测试思维,探索性强调测试人员的主观性,抛弃繁杂的测试计划和测试用例的设计过程,强调在遇到问题时及时                          改变策略。

安全测试:安全测试是指在软件测试生命周期中,特别是产品开发基本完成到产品发布阶段,对产品进行检验以验证产品符合安                          全需求定义和产品质标准过程。

2.分层的自动化测试

         传统的自动化测试更关注UI层的自动化测试,而分层测试的自动化测试倡导产品发开的不同阶段(层次)都需要自动化测试

UI测试->集成/接口测试->单元测试    自动化分层测试

单元测试:我们需要规范的来做单元测试同样需要对应的单元测试框架,如JAVA的Junit,TestNG  C#的NUnit Python的                          unitest,pytest 等,几乎所有主流语言都会有对应的单元测试框架。

集成测试:单元测试更注重代码的实现逻辑 如实现一个if 实现一个分支for那么集成/接口测试关注的是函数,类(方法)所提                         供的接口是否可靠,例如 我定义一个add()函数用于计算两个参数的结果并返回,那我我需要调用add()并传参,并                         比较两个返回值是否两个参数相加,接口测试也可以是URL的形式传递,例如 通过GET请求方式向服务器发送请                             求,那么我们发送的内容最为URL的一部分传递到服务器,但比如 web service 技术对外提供一个公共接口 需要通                         过 soapUI 等工具进行测试。

UI层的自动化测试:大部分的测试人员都是针对UI层功能进行测试,例如,提交表单,查询等功能,可以通过自动化工具来模拟                                       这些操作,ui层自动化工具:QTP,RobotFramework,watir,selenium等

什么样的项目适合做自动化测试:

1.任务测试明确不会频繁变动

2.每日构建后的测试验证

3.比较频繁的回归测试

4.软件系统 界面稳定变动少

5.需要在平台上运行的相同测试案例,组合遍历的测试,大量的重复任务

6.软件维护周期长

7.项目进度压力不大

8.被测试的系统比较规范,能够保证系统的可测试性

9.具备大量的自动化平台

10.测试人啊元具有较强的编程能力

并不一定需要全部满足,一般情况下满足三个条件就可以对项目开展自动化测试

1.软件需求变动不频繁

测试人员需要根据需求来设计用例以及自动化脚本,需求变动较小的可以用自动化实现,变动较大的更加适合手动测试

2.项目周期比较长

自动化测试需求的确定,自动化框架的设计,脚本的开发与调试,均需要时间来完成,如果项目周期较短没有时间如支持                    这样的过程,那自动化测试就是笑谈

3.自动化脚本可重复适用

自动化测试脚本的重要性需要从三个方面来考虑,一是测试的项目之间是否有很大的差异,如B/S架构和C/S结构,所徐                    选择的工具是否能支持这种差异。

2.1自动化测试及工具简述

自动化测试有广义和狭义之分,广义上来说借助工具实现测试的都可以称之为自动化测试,狭义上来讲主要是基于ui层的自动化          测试,除此之外还有编写代码的单元自动化测试,基本集成阶段的接口自动化测试

1.QTP

是一种企业级的自动化工具,提供了强大的录制和回放功能,基于B/S,C/S 两种架构的软件测试 是目前主流的自动化测试工具

2.Robot Framework

是一款基于python编写的功能自动化测试框架具备良好的可扩展性,支持关键字驱动,同时可以测试多种类型的客户端和接              口,可以分布式测试执行

3.watir

是一款基于web模式的自动化功能测试工具

2.Selenium

基于web应用程序测试的工具,支持多平台,多浏览,多语言区实现自动化测试目前在web自动化领域应用越来越广泛

Selenium+Pyhon 自学笔记 (第一天)相关推荐

  1. Selenium + Python 自学笔记(第九天)

    新手常犯的错误 1.Pyhon中没有用{ }来表示的语句但是当碰到 : 冒号结尾的语句时,一定要用四个空格或Tab键来进行首行缩进但在一个语句体中不要使用混合Tab和空格 2.大部分方法两边的的下划线 ...

  2. 20221103 C语言自学笔记第一天

    一直以来的一个想法,终于有时间去做了,借助CSDN平台,记录C语言自学的点点滴滴,今天干了下边这些事: 1.在B站上找到郝斌老师那套经典的自学视频,将源码和PPT下载,留作备用. 2.在虚拟机中安装X ...

  3. Excel自学笔记 第一节 列转行【竖排转横排】和 行转列 【横排转竖排】

    由于今天遇到了一个很蛋疼的问题,就是Excel怎么会这样? 1-30日如果是竖排就是列我们可以输入 11月1日然后点下右下角的 小 +拖到月底11月30日就完成了! 可是横排就是 行却没有这样的 小加 ...

  4. Python简短的自学笔记

    Python自学笔记 第一章:语法类型 list类型:['Michael', 'Bob', 'Tracy'] tuple(元组)类型:t = ('Adam', 'Lisa', 'Bart') dict ...

  5. Spring框架自学笔记

    Spring框架自学笔记 第一章 简介 Spring是一套建筑标准,比如承重标准.丈量标准,通风标准等,并规范了结构:框架式结构,浇筑式结构,且定义了建筑的每个组成部分名字与接口,比如电力系统的接口是 ...

  6. 自学it18大数据笔记-第一阶段Java-day16-day17-day18-day19--day20-day21-day22——会持续更新...

    笔记为自学时随手记录,如有错误,欢迎指正,不胜感激!现已广州转移至上海,欢迎小伙伴们加qq或微博沟通交流(QQ,微博和博客同名) 笔记分享:自学it18大数据笔记-第一阶段Java-day16-day ...

  7. MySQL自学笔记2--select的5个子句

    MySQL自学笔记 使用的MySQL自带命令客户端,其中具体的操作是在自建的数据库下room303表中进行的,表中的列有:id.name.age.email.tel.salary.riqi.class ...

  8. JAVA自学笔记08

    JAVA自学笔记08 1.构造方法私有,外界就不能再创建对象 2.说明书的制作过程 1)写一个工具类,在同一文件夹下,测试类需要用到工具类,系统将自动编译工具类:工具类的成员方法一般是静态的,因此在测 ...

  9. DWR自学笔记(1)HelloWorld

    DWR自学笔记(1)HelloWorld 由于新公司的项目是基于DWR的,所以准备自学DWR,参考资料方佳玮的<DWR中文文档v0.9>,百度文献等.学习主要基于DWR3.0,很多方法之前 ...

最新文章

  1. centos7下nginx配置
  2. Linux sudoers文件的写法
  3. activemq 开启监听_SpringBoot集成ActiveMQ怎么实现Topic发布/订阅模式通信?
  4. 视差滚动教程、实现方法、源代码
  5. 02_Storm集群部署
  6. Android RoboGuice开源框架、Butter Knife开源框架浅析
  7. 干货| 掌握这种逻辑思维,大厂面试成功率可提升90%
  8. mybatis--常见的错误
  9. MyBatis的优点和缺点
  10. 第1节 基本数据类型分析
  11. jAVA EE NZ2001 java EE学习总结 第七周(包含思维导图) 主要内容I/O框架、网络编程、反射
  12. pandas数据日期函数之date_range()、resample()与to_period()
  13. 值得收藏的12款小众冷门但功能强大的在线神器
  14. 关于树叶的活动设计_小学生“树叶探秘”主题活动方案
  15. Hair卡通渲染的效果(各向异性)
  16. 红旗linux试题,redflag认证部分试题
  17. ⭐算法入门⭐《堆》中等02 —— LeetCode 703. 数据流中的第 K 大元素
  18. 芯片已发展到2nm,摩尔定律会失效吗?芯片技术无法突破了吗?
  19. AE2017/2018怎么知道缺少什么字体?
  20. HTC Vive 交互开发——手部模型替换和抓取实现

热门文章

  1. Git图形化界面客户端大汇总
  2. 每日一点专业英文2017.4.19
  3. Android调用 Webservice报org.ksoap2.serializa 异常
  4. 单片机应用系统设计技术——自行车测速仿真
  5. ZYNQ-使用HDMI显示器进行VDMA彩条显示测试
  6. 用XCA(X Certificate and key management)可视化程序管理SSL 证书(3)--创建自定义的凭证管理中心(Certificate Authority)
  7. 如何开启“轻松访问菜单Easy Access Menu”
  8. Ubuntu 18.04 网卡配置
  9. “食面埋伏”餐饮管理系统设计与实现--JAVA开发涉及UI界面、POI、连接数据库
  10. 腾讯云COS存储是什么_腾讯云COS有什么用?