什么是全栈
全栈一般是技术方面的领导者,需要涉猎广?懂得如何解决问题以及对应所需的技术和工具。但具体的细节掌握比不上某个学科精专的。但是他们有强大的学习能力,会比较多依赖搜索或及时学习,会根据需求,依托自己扎实的基础功底,把某一项或者
二项技能达到接近于专科人员的能力。全栈是学习能力强,总结能力强、不断总结和融会贯通提高实战能力,善于分析因果并找到原因和解决方案的符合人才。
1.需求
这个行业存在的根本在于实现用户的业务需求,客户或者产品的需求变化引起的系统需求的频繁变更,在项目周期本就不宽裕的情况下,简介导致测试人员工作量的增加从而导致测试人员加班现象的严重
在实际的性能需求分析过程中,系统分析师必须清醒地认识到客户很难区分业务需求和用户需求的差别,搞清楚客户背后的真正业务需求。可以说,软件工程中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。可以说性能需求分析师做系统性能
测试前必做的,不然就没有方向
2.代码
在测试过程中懂程序的人更能够深入地把程序测好,通过走读代码发现逻辑上的缺陷、写法上的繁琐带来的性能问题等,达到事半功倍。系统难免会与数据库打交道,数据库知识也不可少;程序部署在中间件上,中间件知识也是必备的;中间件检运行在操作系统上,
操作系统及硬件知识页不可少
3.运维
测试自动化是一个趋势,不仅包括功能测试自动化,也包括性能测试自动化及测试环境自动化(持续集成),掌握运维手段也变成必要。另外,对于系统涉及的中间件、数据库、缓存等产品也要熟练运维。
所以要想在测试行业中脱颖而出的关键还是技术,流行的一句话:测试人员懂开发最好,开发人员懂测试最好,自然更受欢迎,价值更高;也就是技术不错,能够跨界。而测试的各种岗位尤以性能测试设计的知识面最广,涉及程序开发、数据库、中间件、操作系统、
硬件知识等内容,基本是照着全栈测试的模板在培养,突破手工测试选择性能测试是一个好的方向,有了这个技术积累就不仅仅是做性能测试,亦开发,亦测试开发(自动化),亦架构,亦性能测试。
常见难点
1.进程、线程任务之间的区别
2.线程的中断优先和原理
3.进程的生命周期
4.上下文切换
5.I/O密集型和CPU密集型哦工作负载之间有什么区别
6.生产环境和测试环境之间换算
7.关系型数据库体系结构和逻辑优化与非关系型数据库体系结构的逻辑优化
8.事务数据库和分析数据库的使用
9.数据关系建模与设计
10.TOP N SQL诊断和优化(执行路径、索引和表连接优化等)
11.阻击和根治阻塞和死锁
12.热点防范和定位优化
13.业务数据批量缓存化\异步化
14.数据库配置优化
15.系统硬件资源(CPU、网络、内存、IO)相互之间的关系及原理
16.选择可靠性能指标及指标之间的关联和判定方法
17.永不宕机的实现原理和常见错误
18.排队系统与延迟及缓存的优化关系
19.优化的成本和性价比
20.业务优化的操作实施
21.多系统串联原理及测试隔离