软件测试自学学习路线图,寻求指导
假设你想在短时间内学会转行。同时,不仅仅是关注那种测试。
第一,要懂代码,不求精通,但要懂意思。
1、前端代码:HTML,CSS,JavaScript
你必须学到什么水平?了解网页的结构是如何写出来的。一些常用的标签是什么意思。css可能会理解它是为了美化页面。JavaScript了解以下方法和变量,与Java有许多相似之处。
2、Java编程
什么水平,变量和方法,循环,条件,包装,调用等等。
3、增删改查数据库
在学习下,查询用得更多。主要学习Select语句,做几个问题。
二、测试基础理论
1、测试流程
2、测试思路
3、测试用例
三、自动化测试
1、Web自动化测试
2、接口测试
软件测试可分为多个方向,即 软件功能测试、软件自动化测试、软件性能测试、软件接口测试、软件安全测试等。
软件功能测试是所有软件测试的基础和基石。如果软件功能测试做得不好,就很难在其他方面取得突破,因为软件是由需求产生的,软件是为了满足用户和市场的需求,所以功能是需求的表达。
以下是如何针对这些方面进行自学,或者说学习路线图是怎样的:
第一:软件功能测试,这个介绍很简单,主要是找出以下几点。
a.软件测试理论知识:软件测试目的、流程、测试方法、测试用例设计(等价类划分、边界值、错误推测、因果图、场景法等)、测试用例编写格式和规范,bug定义,bug单内容,bug管理流程;
b.一定的计算机基础知识:熟练使用windows,熟悉Linux系统常用命令(文件操作、用户操作、开关机、vi命令等)、熟悉数据库增删查改等基本操作,熟悉计算机网络tcp/ip的基本知识;
c.寻找网站或app案例进行练习,基本上入门是没有问题的。
以下是自动化测试的学习路线:
自动化测试分为三个层次:简单的工具、编程+工具和自动化测试框架开发;事实上,这三个层次也是自动化学习的路线。首先,使用简单的工具。例如,web测试链接可以使用xenu,然后学习编程语言,如python,然后学习web自动化测试工具selenium或app自动化工具appium,结合python进行自动化开发,注意以案例为导向的学习,快速学习;当你精通编程和工具时,你会慢慢发现现现有的工具不能满足你的工作要求,这次,你会想到开发工具,因为你知道编程,你使用这么多工具,思考,你可以写,这是自动化测试开发。能达到这个水平,工资很高,很多公司年薪30万,40万以上。
各种自动化(自动化测试、接口自动化测试等)均可适用于上述。).
以下是性能测试和安全测试:
性能测试和安全测试对工程师有着广泛的知识和深刻的要求,需要扎实掌握数据库、操作系统和计算机网络;它不仅可以使用,而且需要知道它们的原理,以及它们的性能调整参数和监控。要求更高,但只要你朝着这个方向走,你就能做到。
业务知识+测试工具(性能工具Jmeter,性能测试和安全测试都需要软件功能测试,LR;安全工具APPScan)+扎实的计算机知识(数据库、操作系统、计算机网络、脚本语言)+经验积累
混合软件测试行业已经五年多了。首先,展示你的立场,敬畏技术。要做好软件测试并不那么容易。个人意见如下:
1:软件测试的基本理论知识。
2:测试案例设计,功能测试的实际方法
3:熟悉和使用SQL数据库是学习的基础。精通是最好的。
4:Linux的基本用法必须是常用命令。如果能编写一定的脚本程序,对测试工作会有很大的好处。
5:中间部件的服务器操作和维护知识储备。
6:自动化测试
7:性能测试
8:python或java语言,具有一定的开发能力。
9:学习测试管理和测试架构。
这一次,我决定逐一指出我多年来经历和听说过的坑,以避免大多数刚开始参与软测试的朋友,以免重蹈过去人们的覆辙。具体内容如下:
1、测试是为开发擦屁股。
我们都应该知道,在实际工作中,通常是测试驱动开发,也就是说,测试主导着项目的进展,开发人员的技术水平直接反映在漏洞的数量上,开发能力测试清楚,也是测试人员驱动开发人员做出改变。
如果测试不能驱动发展,被发展牵着鼻子走,只有一个原因,那就是测试人员能力弱,不能胜任这个角色。
2、我不适合开发和测试
这种观点特别适合应届毕业生。在之前的面试过程中,有些人认为我的代码写得不好,所以他们进入这个行业,转向测试工作。有些人对发展略知一二,但觉得自己在发展上没有优势,主动为自己定位测试工作。
事实上,测试要掌握的技能远远超过开发,至少要广泛得多,做一个好的测试人员,比做一个开发人员要困难得多。
2、机器自动化将取代手动测试
现在很多人说自动化测试将取代手动测试,首先有这个想法,不能真正理解自动化测试,自动化是做回归测试,自动化脚本是手动编写或录制,只能覆盖一般业务流程,不能详细测试软件覆盖。
详细的测试仍然需要手动完成,否则自动脚本维护的时间成本将大大增加,适得其反。新功能必须手动测试,只有旧功能才能进行自动测试。自动化是一种提高测试效率的测试方法,而不是取代手动测试。
3、使用测试工具是有效的测试
测试工具是为了帮助测试工程师更有效地完成测试工作。它能否有效地测试完全取决于使用工具的人的技术水平。如果水平较强,则测试结果具有参考价值。如果水平较弱,则测试结果将一团糟。
建议您仍然基于手动测试,工具只是为了提高测试效率,为了更好地完成测试工作,而不是使用工具测试必须有效。
4、标准化软件测试增加了项目成本
如果软件测试过程不标准化,结果就不会很理想。标准化和严格的测试过程可以大大提高测试质量。这不是为了增加项目成本,而是为了减少项目的隐患,甚至是在线后的损失。
我简单发一点
一、职业成长规划:
二、学习模块图
这是我在学习软件测试时收集的图片。我觉得整理得很好
三、建议学习要点:
1、前置基础知识视频资源
2、Inux和数据库视频资源
3、测试基本视频资源
4、编程+数据结构
5、WEB自动视频资源
6、移动自动化视频
7、接口测试视频资源
8、性能视频资源
四、推荐几篇帖子
移动终端测试踩坑的分析
http://yun.itheima.com/jishu/95.html?zwwd1907x
在Linux和window操作系统下,如何快速查看计算机的MAC地址(最完整版本)?
http://yun.itheima.com/jishu/94.html?1907xzwwwwd
其他的,你可以自己找到资源。我通常在《黑马程序员》的视频库里看一些学习视频和免费的公开课。我可以看一点基本的
以思维导图的形式发给你,可以按照这个过程来学习哈。
第一模块:定义
1、测试定义;
2、测试标准:国际标准、国内标准;
3、测试原则;
4、软件测试发展史;
第二个模块:测试五个流派
1、分析流派:代表传统测试,基于脚本测试,受瀑布模型影响较大;
2、标准流派:测量、劣质成本/保证成本;
3、上下文驱动流派:RST、ET、HYSM、SBTM;
4、敏捷流派:敏捷思维、测试宣言、核心价值观、持续集成/测序测试/持续交付、轻量级测试工具、实践;
第三模块:方法
1、黑盒方法;
2、基于代码的方法(CoBT):百盒方法;
3、基于故障模式的方法(FPBT):识别/分析故障模式,注入故障;
4、基于模型的方法(MBT):模型规范,自动生成测试,Tools;
5、基于使用方法(UBT);
第四模块:层次/类型:
1、单元测试:人工评审、工具静态分析、动态测试;
2、集成测试;
3、系统测试:功能测试、性能测试、稳定性测试/压力测试、可靠性测试、安全性测试、兼容性测试、易用性测试、一致性测试、合规性测试、全球化和本地化测试;
4、验收测试;
5、回归测试;
6、安装试验/卸载试验;
第五模块:方法
1、手工 vs. 自动化的;2、主动的 vs. 被动的;
3、基于互联网的测试;
4、STvsET;
5、静态 vs. 动态;
6、其他测试;
第六模块:技术
1、TA技术;
2、面向对象(OO)技术;
3、面向借口的测试技术;
4、SOA/微服务测试技术;
5、Web测试技术;
6、移动App、windows、嵌入式、物联网等测试;
第七模块:过程
1、过程模块;
2、过程改进;
3、工程、工作、支持过程;
第八模块:管理
1、可测试性;
2、团队人员管理;
3、质量、试验件、缺陷管理;
4、测试计划;
5、环境管理的风险、测试等;
告诉你一些实用的。1.基础理论知识,可以在网上搜索面试题。2.一门语言,java,python 较常用 3.Linux操作系统常用命令,数据库常用操作 4.常用工具、性能jmeter、自动化selenium等。
以上答案均为软件测试培训机构,请谨慎。
我给你一条我个人自学的路线,目前在互联网公司从事后端自动化测试开发。
学习理论应对面试,学习编程语言,可以达到独立完成项目的标准。
再学习软件测试思想和自动化框架。好吧。
三年半的游测就像路过一样。对软测了解不多。如果你开始学习理论知识 学好基础,理清你们公司的业务流。做好该做的事。有时间可以写下学校代码的脚本 lua py都可以 不应该有很多自动化能负担得起lr或qtp。学习这些,你必须使用它们。