| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 1小时内被全网疯转 29.8w 次,最终被所有大V协力封杀! -> 正文阅读 |
|
[开发测试]1小时内被全网疯转 29.8w 次,最终被所有大V协力封杀! |
华为麒麟团队的一位架构师利用空余时间在github整理了一份《自动化测试核心知识点》,现整理成PDF,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间,省不必要的时间和精力浪费。 前两天,朋友圈分享了这份这份面试手册的初稿,再几位同学的强烈提议下,对手册进行了一定的优化。于是有了现在的V2.0版本的手册。 废话不多说,本手册目前为第一版,内容有以下板块: 黑盒测试 白盒测试 灰盒测试 根据项目流程划分的测试:单元测试:模块测试,对程序中单个程序或独立功能的代码段进行测试 (白盒测试) 集成测试:通过单元模块进行组合测试,接口,功能是否完备 系统测试:验证整个系统是否满足需求、系统的正确性,是否满足规格需求 回归测试:如果某个问题在有限的时间解决不了,只能到下一次版本更新 验收测试:确保软件准备就绪,向购买者展示软件满足用户的需求 黑盒测试:关心软件输出数据及结果,检查程序呈现给用户是否正常使用,根据数据,能否输出正确结果,主要针对软件界面和软件功能进行测试。 白盒测试:把盒子打开,去研究源代码和程序执行结果,按程序内部结构,通过测试来检测产品内容功能是否按照我们需求说明书正常进行 灰盒测试:介于黑盒测试与白盒测试之间。关注输出对输入的正确性,同时关注内部表现(没有白盒那样完整) 功能测试与性能测试功能测试:检查实际功能是否符合用户需求。测试主要围绕软件功能进行。 功能测试可细分为:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试(比较重要,不同的浏览器,不移动端、不同系统) 性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试 性能测试可细分为:时间性能与空间性能 时间性能:软件的响应时间 空间性能:软件运行时间,消耗的资源(如:CPU的消耗、带宽的消耗等) 手工测试与自动化测试手工测试:由测试人员一个一个去执行测试用例,通过键盘鼠标等输入一些参数,并查看返回结果是否符合预期结果。是系统阶段进行的一个功能测试 自动化测试:把以人为驱动的测试行为转化为机器执行的一种过程。这里的机器是一种工具,通过测试工具或者框架,录制编写测试脚本,对软件功能进行测试,并验证测试结果是否正确,从而代替部分的手工测试,达到节约人力、时间成本目的 自动化测试可细分为:功能自动化和性能自动化测试 。 自动化功能自动化测试:进行参数化,一次请求,多次运行。目前主要是功能自动化测试 自动化性能自动化测试测试性能工具模拟成千上万的用户向系统发送请求,从而验证系统处理能力 冒烟测试、回归测试、随机测试、探索性测试、安全性测试冒烟测试:对一个新版本进行大规模的系统测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。 回归测试:修改旧代码后,重新进行测试以确认修改后没有引入新的错误或导致其他代码产生错误。系统测试之前进行回归测试,没有问题后,进行验收测试。 随机测试:测试中的所有输入数据都是随机生成的,主要是模拟用户的真实操作,并发现一些边缘性的错误。一般放在最后进行测试。 探索性测试:可以说是一种测试思维技术,它没有很多实际的测试方法、技术和工具,但却是所有测试人员都应该掌握的一种测试思维方式。强调测试人员的主观能动性,即碰到问题,及时改变策略,根据实际情况,摸索测试方法。 安全测试:是IT软件产品的生命周期中,特别是产品开发基本完成至发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。 分层自动化测试Unit :单元自动化测试,是对软件中最小的可测试单元进行检查与验证,如:C语言的最小的单元是一个元素,Java中最小的单元是一个类,图形化软件中的最小单元是一个窗口、按钮、菜单等。规范单元测试需要借助于单元测试框架(工具) 单元测试(Code Review :中译 代码评审、代码审查):查找系统缺陷、保证软件真题质量,提高开发者自身水平。 Service:接口自动化测试 分为:模块接口测试、web接口测试 模块接口测试:测试模块间的调用与返回。如:类方法、函数调用并对返回结果进行验证 Web接口测试:分为服务器接口测试、外部接口测试 服务器接口测试:浏览器与服务器之间的接口,通过HTTP协议进行调用 外部接口测试:调用接口,由第三方调用,如:调用微信、QQ、微博登陆接口 UI层:是用户使用该产品的入口,所有功能都通过这一层提供并展示给用户,所以测试工作大多集中在这一层进行。为了减轻这一层的测试人力和时间成本,早期的自动化测试工具主要针对该层设计。 除了UI层所展示的功能外,前端代码同样需要进行测试。在前端开发中最主要的是javascript脚本语言,而QUnit就是针对Javascript的一个强大的单元测试框架。 分层自动化测试投入比例 UI层自动化测试:投入比例小,原因:很难保证产品的质量,浪费人力、物力,因为越接近用户越容易变化 什么样的项目适合自动化测试 -任务测试明确,不会频繁变动。 -每日构建后的测试验证。 -比较频繁的回归测试。 -软件系统界面稳定,变动少。 -需要在多平台上运行的相同测试案例、组合遍历型的测试,大量的重复任务。 -软件维护周期长。 -项目进度压力不太大。 -被测软件系统开发较为规范,能够保证系统的可测试性。 -具备大量的自动化测试平台。 -测试人员具备较强的编程能力。 正常情况下满足三个: 1、软件需求变动不频繁: 自动化脚本变化的大小、频率决定自动化维护成本,变化大,测试人员要进行扩展、修改、调试 2、项目周期较长:需求确定,框架有好的设计,脚本开发调试时间较长 3、自动化测试脚本可重复使用:测试项目之间是否存在很强的差异性,如:c/s、b/s之间的架构所展示的功能差不多,对脚本可重复使用,选用的技术、工具是否适应这种差异,测试人员是否有能力设计出满足条件的差异 自动化测试及工具简述 自动化测试的概念有广义和狭义之分:广义上讲:所有借助工具来辅助进行软件测试的方式都可以称为自动化测试;狭义上讲:主要是指基于UI层的功能自动化测试。 1)UFT:(QTP:企业级自动化测试工具,提供强大、易用的录制回放功能,同时兼容对象和图像两种识别模式,支持B/S和C/S两种架构的软件测试 ) 2)Robot Framework:基于Python语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,同时可测试多种类型的客户端或接口,可进行移动端测试 3)Watir:基于WEB测试,使用Roby语言开发 4)Selenium:用于web应用程序测试工具,支持多平台,多浏览器,多语言去实现自动化测试 什么是Selenium Selenium主要用于Web应用程序的自动化测试。 selenium特点: -开源,免费 -多浏览器支持:Firefox,chrome,IE,Opera,Edge -多平台支持:Liunx,Windows,MAC -多语言支持:Java,python,Ruby,C#,JavaScript、C++ -对Web页面具有良好的支持作用; -简单(API简单)、灵活(用开发语言驱动) -支持分布式测试用例执行 selenium工具介绍 selenium 1.0 Selenium IDE:是嵌入到火狐浏览器中的一个插件,可实现简单浏览器的操作录制与回放功能 。可快速创建bug脚本,帮助开发人员重现bug,IDE录制的脚本可转换成多种不同语言,从而帮助我们快速的开发脚本。 Selenium Grid:一种自动化的测试辅助工具,gird通过利用现有的计算机基础设施,加快Web-App的功能测试。利用gird可方便地实现在多台机器上和不同环境中运行测试用例,如:进行兼容性测试,在谷歌浏览器上打开百度网页 selenium RC:支持多种不同语言编写的自动化测试脚本。分为client Libraries和Server client Libraries 库:主要用来编写测试脚本,用来控制selenium Server库 Server:控制浏览器的行为。如:查询等 selenium Server分为Launcher、Http Proxy、Core Selenium Core:被嵌入到浏览器页面中的,Core是一堆堆javascript函数的集合,通过这堆javascript可实现程序对浏览器的控制 selenium Launcher:主要是启动浏览器。把selenium Core加载到浏览器页面当中,并把浏览器的代理设置成selenium Server的Http Proxy,也就是一种协议 Selenium 2.0 把WebDriver加入到这个家族中,简单用公式表示为: Selenium 2.0=Selenium 1.0 + WebDriver WebDriver可以看成 Selenium RC替代品 保留Selenium RC是Selenium为了保持向下的兼容性保留了 Selenium RC是在浏览器运行javascript应用,使用浏览器内置的javascript翻译器来翻译、执行selenese(即:selenium命令的集合) WebDriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver还利用操作系统级的调用模拟用户输入。(可直接控制浏览器) 最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
关注我公众号:【程序员小濠】即可获取这份资料了! 如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:175317069?大家一起讨论交流,里面也有各种软件测试资料和技术交流。 如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。 ?
|
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:23:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |