我们精选了一下网友答案:
···································^^····································
题主问的泛泛,也不知道题主现在是在职还是离职,更不知道题主之前从事的行业跟软测关系如何,跟IT关系如何,所以到底是自学还是报班,亦或是请熟人带,都不好讲。
不过还是先说说心态吧。不论做什么,心态都很重要(不是最重要而是很重要,毕竟我也是借隔壁文科班妹子的政治书第四册看过的人^_^)。
一个来说,必须有一个良好的学习心态。学习任何知识贵在坚持,如果半途中止,学不好任何东西。
再一个,不懂就要问。学习很忌讳不懂装懂,朋友,老师,网络,都是可以用来搜索答案和提问的地方。子曰:“知之为知之,不知为不知,是知也。”不懂装懂很难自我提升。
然后说说行业吧。
软测行业内部,也是有分层的,最赚钱的,比如说性能测试,这个收入一般就比较让人羡慕了。比较赚钱的,比如白盒,再比如自动化,这都是相对高端的。
手工黑盒做三年,这时候一般都是瓶颈期。
有一些人能够感觉到自己的瓶颈,有些人感觉不到。
感觉到自己瓶颈期的人会选择各种各样的突破方式,有的自学一门语言,打算学点儿开发知识;有的学数据库知识,打算往DBA发展;有的学系统学部署,做部署工程师;有的学习自动化工具,性能的啊,功能的啊,希望变成自动化工程师。
这些是不打算做手工测试了,我们祝他们好运。
继续坚持手工测试呢,有些人就开始转管理了,做组长,做经理,这样;有些人学业务,成为业务专家。
所以说即使要入门软测,选择什么也是颇有讲究的。
想好方向,再想方法。
然后题主再根据自身情况,考虑一下到底是报班还是自学。
我有份视频,是教基础的。你可以看看 软件测试教学视频-
+++一、想要零基础学好软件测试,当然需要对测试有一个良好的认知。
1、什么是软件测试?
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
2、怎样才算一个真正的软件测试工程师?
真正的软件测试工程师算是半个产品经理,半个开发工程师。有人觉得这个标题有点讽刺,真正的测试?难道我们不是真正的测试,平常做的都不是测试的工作吗?其实不肯定也不否定,但这是一个包含关系,如果只是评审+用例编写执行,那么确实不是一个真正的测试。
正如标题那样,我认为真正的测试 =“半个产品+半个开发”。
半个产品,主要体现在理解这个需求为什么要做?其核心价值在哪里?吸引用户的特点是什么?意味着在评审阶段,你除了帮助完善功能需求外,更重要的是理解这个需求对于用户有什么价值,你是用户你会怎么想有什么感受,不能简单的走完流程就可以了,比如一个播放视频类应用, 多样性 流畅度 简易性 快速性等 这是在评审之后可以总结出来的,那么抱着这个价值点,围绕这我们的整个测试流程,往往能够发现不一样的地方。比如还是播放类应用,在我了解个特性后,在测试过程中我会更加留意播放方面的性能,以及兼容性,在我设计测试方案的时候就会标明这几个测试重点,以便我自己或者组员能够在测试过程中多加留意这部分的测试点,然后在设计测试用例的时候会提高优先级和覆盖率。可以发现,测试有了测重点。
半个开发,其实个人认为这是偏向于灰盒测试了,体现在一个需求,你除了要明确这个需求的业务逻辑,其代码逻辑(数据流逻辑)也是需要知道的,从后台获取的json数据结构到客户端展示再到存储至本地数据,这一个流向,都是需要去了解并测试的(这部分参照之前写的测试分析文章),所以测试验证的不仅仅是功能层面的东西,还是内部的具体实现(当然,具体到类方法的测试那是测试开发的职能,不关咱测试的事),我们要保证的,就是这一阶段数据的正确性和容错性。这样做的好处是,能从内部发现缺陷,在出现问题的时候可以大概定位到问题出在哪,在出问题面对boss的质疑能够把责任丢给开发,哦不,是更好的解决问题。
那么半个开发还体现在对工具效率的提升上,能够通过小脚本,小框架去提升测试效率,这要求对于基本的语言要求是必须的,大公司面试的某一轮考研的就是你的代码能力,所以测试还是半个开发这一点是毋庸置疑滴。
1、测试项目启动与规划
一般地,项目启动过程组包括两个过程:即制定项目章程和制定项目初步范围说明书;而项目规划过程组则会综合项目的成本、范围、时间、质量、风险、人力、沟通、采购等因素制定项目计划,该项目计划将用于指导项目的实际执行。
对任一项目而言,有三个文件是非常重要的。即:项目章程、项目范围说明书,项目管理计划。这三个文件均产生于项目启动阶段和项目规划阶段。其中项目章程被认为是三大文件之首(项目章程、项目范围说明书,项目管理计划)。一个项目,不论大小,都应该有项目章程。
一个典型的项目章程包括如下内容:
1)项目名称及背景描述;
2)项目经理任命及职责范围界定;
3)项目业务需求描述;
4)项目发起的原因;
5)主要项目干系人及其初步需求;
6)产品及预期交付成果描述;
7)项目假设和约束条件。
三、零基础如何学好软件测试,不懂测试方法怎能事半功倍?
1、从测试设计方法分类
Black box黑盒测试:把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试.
White box白盒测试:设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。
Gray box. 灰盒测试:介于黑盒和白盒之间
总结: 实际工作中,对系统的了解越多越好。目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。 因为白盒测试对软件测试人员的要求非常高,需要有很多编程经验。做.NET程序的白盒测试你要能看得懂.NET代码。做JAVA程序的测试,需要你能看懂JAVA的代码。 如果你都能看懂了,你还会做测试么
2、从测试是手动还是自动上分类
Manual Test 手动测试:测试人员用鼠标去手动测试 (测试GUI)
Automation 自动化测试:用程序测试程序 (测试API)
对于项目来说, 手动测试和自动化测试同等重要,都是保障软件质量的方法。 目前大部分的项目组都是手动测试和自动化测试相结合。因为很多测试无法做成自动化,很多复杂的业务逻辑也很难自动化, 所以自动化测试无法取代手动测试。
对于软件测试人员个人发展来说, 做自动化测试是个挑战,也是测试人员发展的一个方向, 需要测试人员学习大量的开发知识(开发的知识真是学无止境啊)。 从长远角度来看,自动化测试肯定是越来越吃香的。
而手动测试比较适合刚工作不久的人,手动测试最大的缺点就是技术含量低,单调乏味,容易废人。
总的来说,手工测试胜在测试业务逻辑,而自动化测试胜在测试底层架构。
如果被测试的程序可测试性比较好, 很有必要做成自动化测试。 能做自动化的尽量做成自动化, 下面这些情形是可以做自动化的:
1) 测试存储过程。 例如用C#去测试存储过程
2)测试Web servies. 例如: 用SoupUI工具,或者C#,Java 去测试Web servies。
3)界面和业务逻辑分离的系统,比如,MVC,MVP架构, 或者WPF 程序。 可以用测试脚本去测试这些程序的API。
3、从测试的目的分类
功能测试
测试的范围从小到大,从内到外, 从程序开发人员(单元测试)到测试人员,到一般用户Alpha/Beta测试
Unit Test 单元测试:在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性(开发人员做的)
Functional Test 功能测试:验证模块的功能 (测试人员做的)
Integration Test 集成测试:验证几个互相有依赖关系的模块的功能 (测试人员做的)
Scenario Test 场景测试:验证几个模块是否能完成一个用户场景 (测试人员做的)
System Test 系统测试:对于整个系统功能的测试 (测试人员做的)
Alpha 测试:软件测试人员在真实用户环境中对软件进行全面的测试 (测试人员做的)
Beta 测试:真实的用户在真实的用户环境中进行的测试, 也叫公测 (最终用户做的)
非功能测试
一个软件除了基本功能之外,还有很多功能之外的特性,这些叫“Quality of Service requirement”服务质量需求。没有软件的功能,这些特性都无从表现出来,因此,我们要在软件开发的适当阶段-基本功能完成后做这些测试。
Stress test 压力测试:验证软件在超过负载设计的情况下仍能返回正确的结果,没有崩溃
Load test 负载测试:测试软件在负载情况下能否正常工作
Performance test性能测试:测试软件的效能,是否提供满意的服务质量
Accessibility test:软件辅助功能测试-测试软件是否向残疾用户提供足够的辅助功能
Localization/Globalization:本地化/全球化测试
Compatibility Test:兼容性测试
Configuration Test:配置测试-测试软件在各种配置下能否正常工作
Usability Test:可用性测试 –测试软件是否好用
Security Test:软件安全性测试
性能测试
性能测试要求测试人员熟练性能测试工具,比如QTP, LoadRunner, Jmeter。 Visual Studio也提供了很多性能测试的工具. 要求测试人员对低层协议非常理解和编写脚本
性能测试非常有技术含量, 很有发展前途, 是软件测试人员的一个职业发展方向。
安全性测试
安全性测试的内容很广, 非常有难度啊。 我只接触过XSS(跨站脚本攻击)和SQL注入攻击。
安全性测试非常有技术含量, 我认为也是软件测试人员的一个职业发展方向
4、按测试的时机和作用分类
在开发软件的过程中,不少测试起着“烽火台”的作用,它们告诉我们软件开发的流程是否畅通。
Smoke Test:“冒烟”–如果测试不通过,则不能进行下一步工作
Build Verification Test(BVT):验证构建是否通过基本测试。
Acceptance Test:验收测试,为了全面考核某功能/特性而做的测试
BVT测试是一种Smoke Test, 指Build生成好之后,自动运行的自动化测试脚本来检查这个Build的基本功能。 如果BVT测试失败了,需要开发人员马上修改,重新生成Buil
5、按测试测策略分类
Regression Test 回归测试:对一个新的版本,重新运行以往的测试用例,看看新版本和已知的版本相比是否有退化 (regression)
Ad hoc Test 探索性测试:随机进行的,探索性的测试。
Santiy Test:粗略的测试, 只需要执行部分的测试用例
Regression Test 回归测试:
对软件测试人员来说就是重复测试,所以回归测试最好是自动化的,否则测试人员就要一遍又一遍地重复测试。
1)开发人员做些小改动,就需要测试人员做回归测试。确保现有的功能没有被破坏;
2)Bug Fix 也需要回归测试,确保新的代码修复了Fix, 也确保现有的功能没有被破坏;
3) 项目后期,需要做一个完整回归测试, 确保所有的功能都是好的。
+++对于零基础的小白来说,要想转行学习软件测试,首先需要确定自己是否适合转行入坑。
软件测试虽然入行门槛在IT技术岗位里算比较低的,但是还是有一些硬性或软性的要求。转行者可从以下几点来评估自己是否适合转行软件测试。
1、学历
转行者,以就业和发展为目的。
目前市场上,企业对软件测试者的学历要求是大专及大专以上,这也是汇智动力为啥不建议大专以下学历的小伙伴转行进入IT技术岗的原因。学历不够,即使学会了,在就业的时候也有一定的困难。
虽说学历≠能力,但是在软件测试岗位上,学历也算是用人单位的一个硬性要求,如果年龄不大,可以先考个学历证书,再入坑IT技术岗。
2、年龄
大龄转行并不是不行,但是要慎重!软件测试岗位属于技术性比较强的岗位,对于零基础的小白来说,要学习知识和技术还是很多。软件测试的技术更新虽不及软件开发那么快,但是随着物联网、人工智能的发展,技术更新的频率势必会增快,长期保持学习新技能是软件测试工程师的常态。
对于30几岁的人来说,要从零开始积累,在软件测试行业里相对有些困难。所以想转行软件测试岗位的朋友,也可以评估一下自己的精力和学习能力。
3、兴趣
对于自己不太了解的东西,可能谈兴趣有些突兀,但是如果不喜欢长期面对电脑,不喜欢一坐就是几个小时,反感代码的小伙伴还是趁早打消转行测试的念头。毕竟人生除了钱,还有心情!
如果对一件事保持莫大的激情,那么做好的概率会大大增加!
在确定了要转行软件测试之后,接着就需要选择学习的途径。途径并无好坏之分,只有适不适合个人,其最终目的都是为了掌握好相关的知识和技术。对于小白来说,常见学习的途径有自学和找培训班,汇智妹之前对这两种途径进行了对比分析,想了解的伙伴可以看看。
小白如何进入IT行业及如何选择培训机构
+++只给鸡汤不给勺子的都是干瞪眼。同理,只给学习路径但是不提供配套学习视频的就是鸡汤文。
哈哈,得罪一大批测试大咖了。
开个玩笑。我这里不仅提供学习路径,还提供对应视频,而且是黑马上课的真实视频,大概50多天。系统,前沿,质量过硬。各位不想报班的同学门可以按照这个来自学哈。
----------------------------------------------------------------------
bbs.itheima.com/thread-405757-1-1.html?zhihuxhwlxt (二维码自动识别)
-----------------------软件测试视频第一阶段-前置基础知识配套视频----------
本阶段软件测试课程共计5个知识点,2个免费视频涵盖
1、学习目标:
可掌握的核心能力:
1. 熟悉计算机相关概念;
2. 掌握基础的测试理论;
3. 熟练掌握HTML常用标签和语法规范;
4. 掌握使用CSS定义网页样式;
5. 掌握js的基本用法;
2、知识点:
1)计算机基础
计算机组成部分、操作系统分类、B/S和C/S架构、常用DOS命令、服务器域名
2)测试理论
软件测试的目的、软件测试定义、软件测试原则、产品质量模型、测试基本流程
3)HTML基础
HTML基础语法、标签属性、图片标签、超链接、锚点、表单
4)CSS基础
CSS基础语法、CSS四类选择器、常用文字属性、行高属性、边框、盒子模型、内外边距
5)JS基础
JS基础语法、JS引入方式
3、该阶段免费配套视频
1)北京校区-《2019年视频告诉你测试行业薪资/价值/职业规划》 密码:xp9k(小白入门必看视频)
2)北京校区-《5天测试班基础视频教程2020版》[3.16日更新] 密码:crm2(对应上述1-5知识点)
------------------------软件测试视频篇第二阶段-linux和数据库-----------------------
本阶段软件测试课程共计4个知识点,共计4个免费配套视频涵盖
1、学习目标:
可掌握的核心能力:
1. 掌握Linux操作系统按照和配置;
2. 熟练掌握Linux常用命令;
3. 掌握数据库增删改查操作;
4. 熟悉数据库索引、视图、事务、常见函数等高级功能;
5. 掌握Redis的string类型、hash类型、set类型、list类型等基本类型和操作;
2、知识点:
1)LINUX(熟悉)
操作系统介绍、操作系统发展历史、CentOS图形界面、文件和目录、常用LINUX命令使用、vim文本编辑器的使用
2)数据库介绍(熟悉)
数据库基本概念、关系型数据库介绍、MySQL安装与使用、Navicat使用
3)SQL语言(重点)
数据表操作、数据操作-增删改查、条件查询、排序、聚合函数、分组、分页、连接查询、自关联、子查询、子查询演练
4)数据库高级功能(了解)
数据库设计、命令行操作数据库、函数、存储过程、视图、事务、索引、外键、用户密码
5)redis数据库功能(掌握)
掌握Redis的string类型、hash类型、set类型、list类型等基本类型和操作;
3、该阶段免费配套视频
1)北京校区-《2天linux视频教程完整分享2020版》 密码:hz1k(此免费视频对应上述1知识点)
2)北京校区- 《4天mysql视频教完整版分享2020版》 密码:s6p6(此免费视频对应上述2-4知识点)
3)实战视频-《1天redis实战视频教程2020版》 密码:o0wv (此免费视频对应上述 5 知识点)
4)实战视频-《Linux命令实战之Lnmp搭建禅道测试环境》 密码:wynj(2020年4月3日更新)
-----------------------软件测试视频第三阶段-前置基础知识配套视频--------------
本阶段软件测试课程共计6个知识点,共计6个免费配套视频涵盖
1、学习目标:
可掌握的核心能力:
1. 掌握测试的基本概念和测试常见分类;
2. 熟练掌握黑盒测试用例设计方法,进行功能测试用例设计;
3. 熟练掌握缺陷报告的编写;
4. 熟悉测试管理工具禅道和JIRA的使用
5. 掌握项目测试流程;
6. 掌握Web项目功能测试分析和用例编写;
7. 熟悉测试计划,测试方案,测试报告的核心内容
8. 掌握功能测试与数据库的关系
9. 掌握Fiddler工具的使用
2、知识点:
1)软件测试理论
软件测试的分类,软件开发模型和测试模型,软件的质量模型,测试用例的定义和要素
2)测试用例设计
等价类方法、边界值方法、因果图、判定表、状态迁移法、正交、场景
3)缺陷管理
缺陷定义、缺陷的判定标准、缺陷报告、缺陷跟踪流程
4)Web项目实战
搭建项目的测试环境,如何快速熟悉项目,项目的测试流程,测试计划和方案,功能测试分析,状态迁移法的使用,流程测试分析,非功能测试分析,测试报告编写,Fiddler抓包
5)测试管理工具
禅道的使用,JIRA的使用
3、该阶段免费配套视频
1)北京校区-《深入了解软件测试4天视频》 密码:hyv9(此免费视频对应上述1,2,3,4知识点)
2)北京校区-《4天学web手工项目测试》(19.6.20更新) 密码:vhh9(此免费视频对应上述6知识点)
3)北京校区-《2天学APP手工项目测试》(19.7.30更新) 密码:i6ym(此免费视频对应上述6知识点)
4 ) 北京校区-《1天禅道工具使用》(19.8.29日更新) 密码:u9vj (此免费视频对应上述7知识点)
5 ) 北京校区-《1天软件缺陷与JIRA》(19.8.29日更新) 密码:3za0(此免费视频对应上述7知识点)
6) 实战视频-《两小时快速入门黑马头条APP功能测试实战》 密码:9ziq
----------------------软件测试视频篇第四阶段-编程+数据结构-------------------
本阶段软件测试课程共计3个知识点,共计1个免费配套视频涵盖
1、学习目标:
可掌握的核心能力:
1. 掌握Python基础语法, 具备基础的编程能力;
2. 建立编程思维以及面向对象程序设计思想。
2、知识点:
1)Python开发环境
Python开发环境的搭建、Pycharm使用
2)Python基础
变量以及变量的类型、标识符和关键字、变量名命名方式、算数运算符、变量数据类型转换、输入和输出、注释、if语句基本格式、if…else…语句、if…elif..else语句、逻辑运算符、比较关系运算符、运算符优先级、while循环语法格式、while嵌套应用、break的用法、continue的用法、列表概念及操作、元组概念及操作、字典概念及操作、字符串概念及操作、集合概念及操作、for循环及for…else用法、函数的基本语法、函数执行流程、文档注释、带参数的函数、带返回值的函数、函数的嵌套调用、匿名函数、递归函数、局部变量和全局变量、引用、文件的概念、文件的打开与关闭、文件读写, 以及文件定位读写、文件、目录相关操作
3)面向对象
面向对象介绍、类和对象的概念、魔术方法的意义及作用、对象成员的访问控制权限、继承的概念及意义、继承、多层继承和多继承、多态的概念以及应用、类属性和实例属性、实例方法、类方法、静态方法、设计模式: 单例模式
4)异常处理
理解异常的作用、捕获异常、异常的传递规则、自定义异常
5)模块和包
模块和包的概念、__all__的用法、import语句用法、from...import...用法、from...import * 用法
3、该阶段免费配套视频
1)北京校区-《10天带你玩转python2020版》 4.20日更新 密码:daxr(此免费视频对应上述1 - 5知识点)
备注:python视频非常重要,是做市场最抢手的自动化测试必学视频,目前黑马已公开。
----------------------软件测试视频篇第五阶段-WEB自动化-------------------
本阶段软件测试课程共计5类知识点,合计6个免费视频涵盖(5个视频已经公布,一个正在紧张更新中)
1、学习目标:
可掌握的核心能力:
1.能够熟练搭建Web自动化测试环境;
2.熟练掌握元素的定位方法和元素操作;
3.掌握鼠标键盘操作及HTML特殊元素的处理;
4.掌握使用UnitTest管理自动化测试的脚本;
5.熟练掌握PO模式的设计思想,并能够对页面进行封装;
6.掌握数据驱动的实现方式;
7.掌握日志的相关概念,以及日志的收集处理;
8.掌握在实际的项目中如何灵活运用自动化的相关技术。
2、知识点:
1)WEB自动化入门
自动化测试的理论知识、主流的Web自动化测试框架介绍、Selenium的发展历史及工作原理、元素查看工具使用、环境搭建
2)WEB自动化基础
元素基础定位方法、Xpath和CSS元素定位方法、元素常见操作、浏览器操作方法、鼠标键盘操作、显示等待和隐式等待、HTML特殊元素处理、窗口截图、验证码处理
3)WEB自动化中级
UnitTest框架、Fixture、UnitTest断言、参数化、测试报告
4)WEB自动化高级
PO模式、数据驱动、日志处理
5)项目实战
自动化测试流程、项目自动化框架设计、自动化代码实现
3、免费视频资源配套:
1)北京校区-《8天web自动化入门教程》 20.4.9日更新 密码:xest(此免费视频对应上述1-5知识点)
----------------------软件测试视频篇第六阶段——移动自动化----------------------
本阶段软件测试课程共计3类知识点,合计3个免费视频涵盖
1、学习目标:
可掌握的核心能力:
1.掌握移动端APP测试特性;
2.能够熟练搭建移动自动化测试环境;
3.熟悉appium的工作原理;
4.熟练掌握ADB工具的使用;
5.熟练掌握元素的定位方法、元素操作和手势操作;
6.掌握单元测试框架pytest的使用;
7.掌握YAML数据读写;
8.掌握使用allure生成测试报告;
9.熟练掌握PO模式的设计思想;
10.掌握数据驱动的实现方式;
11.掌握Git的使用方式;
12.掌握Jenkins持续集成的环境配置;
13.掌握在实际的项目中如何灵活运用移动自动化的相关技术。
2、知识点:
1)移动自动化特性
APP应用系统架构、测试环境及发布平台、APP敏捷开发模式、APP应用测试要点、业务功能测试、兼容性测试、安装卸载升级测试、交叉事件测试、Push消息测试、性能测试、用户体验测试、稳定性测试
2)移动自动化基础
移动端测试分类及特点、ADB命令及Monkey使用、appium环境搭建、appium工作原理
3)移动自动化中级
APP和手机系统操作、元素定位、元素操作、高级手势操作、混合APP测试、PyTest测试框架、定制测试报告、YAML数据读写
4)移动自动化高级
PO模式、数据驱动、Git、Jenkins持续集成
5)项目实战
APP项目实战
3、免费视频资源配套:
1)北京校区-《移动端测试基础知识视频》 密码:3gyl(此免费视频对应上述1,2知识点)
2)北京校区-《移动自动化测试基础入门视频》 密码:am3h(此免费视频对应上述2-4知识点)
3)实战视频-《Appium进行IOS真机自动化测试》 密码:172p(此免费视频对应上述5知识点)
4) 相关视频,正在紧张打滚更新中
----------------------软件测试视频篇第七阶段——接口测试----------------------
本阶段软件测试课程共计5类知识点,合计n个免费视频涵盖(4个视频已经公布,一个正在紧张更新中)
1、学习目标:
可掌握的核心能力:
1.掌握接口及接口测试相关概念;
2.掌握使用Postman进行接口测试;
3.熟练掌握数据库的基本操作和事务操作;
4.掌握requests库使用及脚本封装;
5.掌握接口测试框架的设计和封装;
6.掌握使用持续集成工具管理接口测试脚本;
7.掌握在实际的项目中如何灵活运用接口测试的相关技术。
2、知识点:
1)接口测试基础
接口及接口测试概念、HTTP协议、接口规范、项目环境说明、接口测试流程
2)Postman实现接口测试
Postman介绍和安装、Postman基本用法、Postman高级用法、Postman测试报告、项目实战
3)数据库操作
数据库介绍、数据库基本操作、数据库事务操作
4)代码实现接口测试
Requests库、集成UnitTest、接口测试框架开发、项目实战
5)持续集成
持续集成介绍、Git、Jenkins、持续集成之Postman、持续集成之代码
6)接口测试扩展
Mock测试、接口测试总结
3、免费视频资源配套:
1)北京校区-《2天带你掌握接口基础》 密码:v5bq(此免费视频对应上述1知识点)
2)北京校区-《接口测试入门篇》 密码:k8rc(此免费视频对应上述2知识点)
3)巩固视频-《Python实现接口自动化测试视频》 密码:edkd
4)实战视频-《python实现头条项目接口自动化测试实战》密码:5kab (与知识点5-7相关视频)
----------------------软件测试视频篇第八阶段——性能测试----------------------
本阶段软件测试课程共计5类知识点,合计n个免费视频涵盖(3个视频已经公布,其他正在紧张更新中)
1、学习目标:
可掌握的核心能力:
1.能够熟练搭建性能测试环境;
2.掌握性能测试基础理论;
3.掌握Jmeter常用组件使用;
4.掌握Jmeter编写和录制性能测试脚本;
5.掌握基于jmeter实现单一和混合场景搭建;
6.掌握思考时间、事务、逻辑控制器在性能测试场景的应用;
7.掌握Jmeter常用性能插件进行图表分析;
8.掌握Linux服务型性能监控方法和指标;
9.掌握数据库监控和调优的常见方法。
2、知识点:
1)性能测试基础
性能测试理论、性能测试分类、性能测试常用指标、性能测试流程
2)性能测试工具
常用性能测试工具、Jmeter环境搭建、Jmeter功能概要、元件作用及执行顺序、线程组、参数化、断言、关联、连接数据库、逻辑控制器、定时器、分布式、测试报告
3)项目-接口性能测试
项目API文档分析、接口清单梳理、接口脚本设计、并发数据计算、逻辑控制器项目应用、单一场景搭建、常用响应图表插件及应用
4)项目-web性能测试
脚本录制、正则过滤、cookie管理器、事务控制器、思考时间、混合场景搭建、web性能脚本执行与分析
5)性能测试调优
windows服务器性能监控、linux服务器性能监控、性能测试报告
3、免费视频资源配套:
1)北京校区-《3天带你入门性能测试2020版》 密码:g0nk(此免费视频对应上述1-3知识点)
2)北京校区-《2天带你入门性能测试》 密码:44t2(此免费视频对应上述1知识点)
3)北京校区-《性能测试工具LoadRunner入门》4.8日更新 密码:hvc9(此免费视频对应上述2知识点)
4) 与知识点4、5相关视频,正在紧张打滚更新中
----------------------软件测试视频篇第九阶段——综合项目实战----------------------
1、学习目标:
可掌握的核心能力:
1.掌握功能测试在真实的项目中如何实施;
2.掌握基于Selenium的Web自动化测试框架搭建和使用;
3.掌握基于Appium的APP自动化测试框架搭建和使用;
4.掌握使用工具实现接口测试;
5.掌握基于Python+Requests库的接口自动化测试框架的搭建和使用;
6.掌握Locust性能测试框架的使用;
7.掌握如何对APP进行性能测试;
8.掌握在实际的项目中如何灵活运用相关测试技术。
2、知识点:
1)项目介绍
项目简介、项目架构
2)功能测试
功能测试设计思路、自媒体端测试、后台管理端测试、用户APP端测试
3)UI自动化测试
Selenium Grid、搭建自动化测试框架、编写自动化测试脚本
4)接口测试
接口测试流程、基于工具的接口测试、基于代码的接口测试
5)性能测试
Locust框架、APP性能测试
3、免费视频资源配套:
1)北京校区-《综合项目_3天黑马头条实战》7.3日更新 密码:pkx4(此免费视频对应上述1、2、3知识点)
2) 与知识点4、5相关视频,正在紧张打滚更新中
----------------------突击实战视频篇-软件测试自学党应看的实战视频----------------------
《两小时快速入门APP功能测试视频》bbs.itheima.com/thread-479198-1-1.html
《无基础入门移动自动化Appium框架》bbs.itheima.com/thread-479432-1-1.html
《全方位讲解性能测试入门基础》bbs.itheima.com/thread-479434-1-1.html
《接口自动化测试实战》bbs.itheima.com/thread-494597-1-1.html
《快速掌握测试编写报告》bbs.itheima.com/thread-494600-1-1.html
《白盒测试用例设计》bbs.itheima.com/thread-494591-1-1.html
《黑盒测试用例设计》bbs.itheima.com/thread-504683-1-1.html
《10节课带你学会测试计划编写篇》bbs.itheima.com/thread-504679-1-1.html
《AirTest自动化测试视频》bbs.itheima.com/thread-504661-1-1.html
《微信小程序测试实战—全网首发》bbs.itheima.com/thread-504655-1-1.html
《安全渗透测试之sql注入-全网首发》bbs.itheima.com/thread-504656-1-1.html
《Charles抓包工具测试实战》bbs.itheima.com/thread-505282-1-1.html
《手把手教你搭建测试环境部署项目》bbs.itheima.com/thread-505280-1-1.html
《自动化测试工具_Jmeter视频》pan.baidu.com/s/1-1q-9Pn(密码:lgqv)
整理不易呀,眼睛都留眼泪了。自学的朋友们,如果觉得资源对你有用,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
···································^^····································
题主问的泛泛,也不知道题主现在是在职还是离职,更不知道题主之前从事的行业跟软测关系如何,跟IT关系如何,所以到底是自学还是报班,亦或是请熟人带,都不好讲。
不过还是先说说心态吧。不论做什么,心态都很重要(不是最重要而是很重要,毕竟我也是借隔壁文科班妹子的政治书第四册看过的人^_^)。
一个来说,必须有一个良好的学习心态。学习任何知识贵在坚持,如果半途中止,学不好任何东西。
再一个,不懂就要问。学习很忌讳不懂装懂,朋友,老师,网络,都是可以用来搜索答案和提问的地方。子曰:“知之为知之,不知为不知,是知也。”不懂装懂很难自我提升。
然后说说行业吧。
软测行业内部,也是有分层的,最赚钱的,比如说性能测试,这个收入一般就比较让人羡慕了。比较赚钱的,比如白盒,再比如自动化,这都是相对高端的。
手工黑盒做三年,这时候一般都是瓶颈期。
有一些人能够感觉到自己的瓶颈,有些人感觉不到。
感觉到自己瓶颈期的人会选择各种各样的突破方式,有的自学一门语言,打算学点儿开发知识;有的学数据库知识,打算往DBA发展;有的学系统学部署,做部署工程师;有的学习自动化工具,性能的啊,功能的啊,希望变成自动化工程师。
这些是不打算做手工测试了,我们祝他们好运。
继续坚持手工测试呢,有些人就开始转管理了,做组长,做经理,这样;有些人学业务,成为业务专家。
所以说即使要入门软测,选择什么也是颇有讲究的。
想好方向,再想方法。
然后题主再根据自身情况,考虑一下到底是报班还是自学。
我有份视频,是教基础的。你可以看看 软件测试教学视频-
···································^^····································
一、想要零基础学好软件测试,当然需要对测试有一个良好的认知。
1、什么是软件测试?
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
2、怎样才算一个真正的软件测试工程师?
真正的软件测试工程师算是半个产品经理,半个开发工程师。有人觉得这个标题有点讽刺,真正的测试?难道我们不是真正的测试,平常做的都不是测试的工作吗?其实不肯定也不否定,但这是一个包含关系,如果只是评审+用例编写执行,那么确实不是一个真正的测试。
正如标题那样,我认为真正的测试 =“半个产品+半个开发”。
半个产品,主要体现在理解这个需求为什么要做?其核心价值在哪里?吸引用户的特点是什么?意味着在评审阶段,你除了帮助完善功能需求外,更重要的是理解这个需求对于用户有什么价值,你是用户你会怎么想有什么感受,不能简单的走完流程就可以了,比如一个播放视频类应用, 多样性 流畅度 简易性 快速性等 这是在评审之后可以总结出来的,那么抱着这个价值点,围绕这我们的整个测试流程,往往能够发现不一样的地方。比如还是播放类应用,在我了解个特性后,在测试过程中我会更加留意播放方面的性能,以及兼容性,在我设计测试方案的时候就会标明这几个测试重点,以便我自己或者组员能够在测试过程中多加留意这部分的测试点,然后在设计测试用例的时候会提高优先级和覆盖率。可以发现,测试有了测重点。
半个开发,其实个人认为这是偏向于灰盒测试了,体现在一个需求,你除了要明确这个需求的业务逻辑,其代码逻辑(数据流逻辑)也是需要知道的,从后台获取的json数据结构到客户端展示再到存储至本地数据,这一个流向,都是需要去了解并测试的(这部分参照之前写的测试分析文章),所以测试验证的不仅仅是功能层面的东西,还是内部的具体实现(当然,具体到类方法的测试那是测试开发的职能,不关咱测试的事),我们要保证的,就是这一阶段数据的正确性和容错性。这样做的好处是,能从内部发现缺陷,在出现问题的时候可以大概定位到问题出在哪,在出问题面对boss的质疑能够把责任丢给开发,哦不,是更好的解决问题。
那么半个开发还体现在对工具效率的提升上,能够通过小脚本,小框架去提升测试效率,这要求对于基本的语言要求是必须的,大公司面试的某一轮考研的就是你的代码能力,所以测试还是半个开发这一点是毋庸置疑滴。
1、测试项目启动与规划
一般地,项目启动过程组包括两个过程:即制定项目章程和制定项目初步范围说明书;而项目规划过程组则会综合项目的成本、范围、时间、质量、风险、人力、沟通、采购等因素制定项目计划,该项目计划将用于指导项目的实际执行。
对任一项目而言,有三个文件是非常重要的。即:项目章程、项目范围说明书,项目管理计划。这三个文件均产生于项目启动阶段和项目规划阶段。其中项目章程被认为是三大文件之首(项目章程、项目范围说明书,项目管理计划)。一个项目,不论大小,都应该有项目章程。
一个典型的项目章程包括如下内容:
1)项目名称及背景描述;
2)项目经理任命及职责范围界定;
3)项目业务需求描述;
4)项目发起的原因;
5)主要项目干系人及其初步需求;
6)产品及预期交付成果描述;
7)项目假设和约束条件。
三、零基础如何学好软件测试,不懂测试方法怎能事半功倍?
1、从测试设计方法分类
Black box黑盒测试:把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试.
White box白盒测试:设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。
Gray box. 灰盒测试:介于黑盒和白盒之间
总结: 实际工作中,对系统的了解越多越好。目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。 因为白盒测试对软件测试人员的要求非常高,需要有很多编程经验。做.NET程序的白盒测试你要能看得懂.NET代码。做JAVA程序的测试,需要你能看懂JAVA的代码。 如果你都能看懂了,你还会做测试么
2、从测试是手动还是自动上分类
Manual Test 手动测试:测试人员用鼠标去手动测试 (测试GUI)
Automation 自动化测试:用程序测试程序 (测试API)
对于项目来说, 手动测试和自动化测试同等重要,都是保障软件质量的方法。 目前大部分的项目组都是手动测试和自动化测试相结合。因为很多测试无法做成自动化,很多复杂的业务逻辑也很难自动化, 所以自动化测试无法取代手动测试。
对于软件测试人员个人发展来说, 做自动化测试是个挑战,也是测试人员发展的一个方向, 需要测试人员学习大量的开发知识(开发的知识真是学无止境啊)。 从长远角度来看,自动化测试肯定是越来越吃香的。
而手动测试比较适合刚工作不久的人,手动测试最大的缺点就是技术含量低,单调乏味,容易废人。
总的来说,手工测试胜在测试业务逻辑,而自动化测试胜在测试底层架构。
如果被测试的程序可测试性比较好, 很有必要做成自动化测试。 能做自动化的尽量做成自动化, 下面这些情形是可以做自动化的:
1) 测试存储过程。 例如用C#去测试存储过程
2)测试Web servies. 例如: 用SoupUI工具,或者C#,Java 去测试Web servies。
3)界面和业务逻辑分离的系统,比如,MVC,MVP架构, 或者WPF 程序。 可以用测试脚本去测试这些程序的API。
3、从测试的目的分类
功能测试
测试的范围从小到大,从内到外, 从程序开发人员(单元测试)到测试人员,到一般用户Alpha/Beta测试
Unit Test 单元测试:在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性(开发人员做的)
Functional Test 功能测试:验证模块的功能 (测试人员做的)
Integration Test 集成测试:验证几个互相有依赖关系的模块的功能 (测试人员做的)
Scenario Test 场景测试:验证几个模块是否能完成一个用户场景 (测试人员做的)
System Test 系统测试:对于整个系统功能的测试 (测试人员做的)
Alpha 测试:软件测试人员在真实用户环境中对软件进行全面的测试 (测试人员做的)
Beta 测试:真实的用户在真实的用户环境中进行的测试, 也叫公测 (最终用户做的)
非功能测试
一个软件除了基本功能之外,还有很多功能之外的特性,这些叫“Quality of Service requirement”服务质量需求。没有软件的功能,这些特性都无从表现出来,因此,我们要在软件开发的适当阶段-基本功能完成后做这些测试。
Stress test 压力测试:验证软件在超过负载设计的情况下仍能返回正确的结果,没有崩溃
Load test 负载测试:测试软件在负载情况下能否正常工作
Performance test性能测试:测试软件的效能,是否提供满意的服务质量
Accessibility test:软件辅助功能测试-测试软件是否向残疾用户提供足够的辅助功能
Localization/Globalization:本地化/全球化测试
Compatibility Test:兼容性测试
Configuration Test:配置测试-测试软件在各种配置下能否正常工作
Usability Test:可用性测试 –测试软件是否好用
Security Test:软件安全性测试
性能测试
性能测试要求测试人员熟练性能测试工具,比如QTP, LoadRunner, Jmeter。 Visual Studio也提供了很多性能测试的工具. 要求测试人员对低层协议非常理解和编写脚本
性能测试非常有技术含量, 很有发展前途, 是软件测试人员的一个职业发展方向。
安全性测试
安全性测试的内容很广, 非常有难度啊。 我只接触过XSS(跨站脚本攻击)和SQL注入攻击。
安全性测试非常有技术含量, 我认为也是软件测试人员的一个职业发展方向
4、按测试的时机和作用分类
在开发软件的过程中,不少测试起着“烽火台”的作用,它们告诉我们软件开发的流程是否畅通。
Smoke Test:“冒烟”–如果测试不通过,则不能进行下一步工作
Build Verification Test(BVT):验证构建是否通过基本测试。
Acceptance Test:验收测试,为了全面考核某功能/特性而做的测试
BVT测试是一种Smoke Test, 指Build生成好之后,自动运行的自动化测试脚本来检查这个Build的基本功能。 如果BVT测试失败了,需要开发人员马上修改,重新生成Buil
5、按测试测策略分类
Regression Test 回归测试:对一个新的版本,重新运行以往的测试用例,看看新版本和已知的版本相比是否有退化 (regression)
Ad hoc Test 探索性测试:随机进行的,探索性的测试。
Santiy Test:粗略的测试, 只需要执行部分的测试用例
Regression Test 回归测试:
对软件测试人员来说就是重复测试,所以回归测试最好是自动化的,否则测试人员就要一遍又一遍地重复测试。
1)开发人员做些小改动,就需要测试人员做回归测试。确保现有的功能没有被破坏;
2)Bug Fix 也需要回归测试,确保新的代码修复了Fix, 也确保现有的功能没有被破坏;
3) 项目后期,需要做一个完整回归测试, 确保所有的功能都是好的。
···································^^····································
对于零基础的小白来说,要想转行学习软件测试,首先需要确定自己是否适合转行入坑。
软件测试虽然入行门槛在IT技术岗位里算比较低的,但是还是有一些硬性或软性的要求。转行者可从以下几点来评估自己是否适合转行软件测试。
1、学历
转行者,以就业和发展为目的。
目前市场上,企业对软件测试者的学历要求是大专及大专以上,这也是汇智动力为啥不建议大专以下学历的小伙伴转行进入IT技术岗的原因。学历不够,即使学会了,在就业的时候也有一定的困难。
虽说学历≠能力,但是在软件测试岗位上,学历也算是用人单位的一个硬性要求,如果年龄不大,可以先考个学历证书,再入坑IT技术岗。
2、年龄
大龄转行并不是不行,但是要慎重!软件测试岗位属于技术性比较强的岗位,对于零基础的小白来说,要学习知识和技术还是很多。软件测试的技术更新虽不及软件开发那么快,但是随着物联网、人工智能的发展,技术更新的频率势必会增快,长期保持学习新技能是软件测试工程师的常态。
对于30几岁的人来说,要从零开始积累,在软件测试行业里相对有些困难。所以想转行软件测试岗位的朋友,也可以评估一下自己的精力和学习能力。
3、兴趣
对于自己不太了解的东西,可能谈兴趣有些突兀,但是如果不喜欢长期面对电脑,不喜欢一坐就是几个小时,反感代码的小伙伴还是趁早打消转行测试的念头。毕竟人生除了钱,还有心情!
如果对一件事保持莫大的激情,那么做好的概率会大大增加!
在确定了要转行软件测试之后,接着就需要选择学习的途径。途径并无好坏之分,只有适不适合个人,其最终目的都是为了掌握好相关的知识和技术。对于小白来说,常见学习的途径有自学和找培训班,汇智妹之前对这两种途径进行了对比分析,想了解的伙伴可以看看。
小白如何进入IT行业及如何选择培训机构
·······································································
我们精选了一下网友答案:
济南硕士的话应届起薪在3000-4000左右,甚至跟高一些,本科的话薪资在1500以上,当然这个还有很大的幅度,要是你有经验或是你很牛的话,薪资比这个要高很多,如果你很牛,可以跟面试官谈判。
···································^^····································
2000-8000,测试关键要业务背景,做的时间长了,积累了业务背景,工资就上去了
···································^^····································
跟工作经验有关的吧。。。 毕业生 3000左右吧
···································^^····································
·······································································
我们精选了一下网友答案:
···································^^····································
11月15日,检测认证事业部软件测评中心、职能中心和极限检验中心等5个党支部联合开展“重走长征路”党日活动。本次活动以“创先争优聚合力,服务大局促发展”为主题,旨在号召广大党员群众弘扬长征精神,锤炼意志品质,心怀崇高信仰,争做服务先锋。
整装待发
“长征”开始前,检测认证事业部党员群众作为“中国工农红军第一方面军”集结完毕,整装待发,在“瑞金”举行庄严的授旗仪式和入党宣誓仪式。
一起冲锋
“长征”途中,“三军”选取湘江战役、遵义会议、四渡赤水、飞夺泸定桥等11个红军长征途中的重要历史事件,回顾长征期间的震撼故事,实地感受红军不怕远征难,万水千山只等闲的革命信念和无畏精神。
胜利会师
“三军”会师,军民同乐。红军经历二万五千里长征,突破了数十万国民党军的围追堵截,完成了伟大的战略转移,中国革命和革命战争从此揭开新的篇章。
合影留念
软件测评中心隶属于中汽中心检测认证事业部。中汽中心检测认证事业部隶属于中国汽车技术研究中心有限公司,业务全面覆盖检测、认证、场地服务三大业务板块
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!