一.测试人员的职责
1.入门的测试:执行测试用例,找缺陷
2.合格的测试:积极主动地发现问题、暴露缺陷。并团队合作、解决问题
3.优秀的测试:半个产品半个开发,提交质量和交付速率
二.测试人员工作内容
1.需求阶段:需求评审,明确测试边界;提取功能点语测试点
2.测试设计:测试计划、方案、用例
3.系统架构:清楚系统的架构实现、数据走向、代码逻辑分析;根据系统架构选择适用的自动化 测试框架和性能测试策略
4.执行测试:提交缺陷、回归验证
5.其他评估:性能测试评估、自动化测试覆盖
6.测试总结:测试报告、验收总结、风险评估
7.时间管理:工具调研、框架/平台/工具研发、资源协调
三.中小公司软件测试状态
1.测试人员人力有限,所以每个测试人员会做更多工作
2.大多数公司无完整的软件周期,无需求、无设计、开发完成即测试
3.很少有自动化测试、性能测试,这意味着更多测试机会
四.大型公司软件测试现状
1.工作流程全面,文档清晰
2.专职工作:功能、自动化、性能分工明确
3.更多方向扩展,如大数据、Mock等等
4.机会交少,很难转型
五.一线互联网公司的测试
六.大公司或小公司
1.去大型公司可以学习更先进,更完善的测试流程和工作流程,不同的工作类型(测试类型),这对自身职业生涯的规划会起到很多帮助
2.等积累到一定的经验,可以去小型公司,这是可以给小公司带来在大公司学到的工作流程、制度、做事的方法,同事也可以向自动化测试、性能测试、测试管理转型
七.软件测试职业发展方向
八.系统知识储备
1.Linux基础
1.1 Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力
1.2 Linux系统了解与环境熟悉
1.3 常用的Linux命令
1.4 Linux文件属性、权限、用户管理
1.5 Linux软件安装和使用环境变量
2. 网络基础
1.1 互联网网络基础的学习,会对我们进行接口测试、性能测试以及安全测试有很重要的意义
1.2 网络架构通讯原理
1.3 TCP/UDP
1.4 HTTP协议
1.5 Session与Cookie
3. 数据库基础
1.1 数据库包括MSSQL、Oracle、MySQL等,建议大家从MySQL学起
1.2 环境搭建与应用
1.3 SQL使用(关键查询、删除修改等)
1.4 存储过程
1.5 事务与编程
4. 编程基础
1.1 编程语言对于测试来说,更好的选择是Java或者Python Java通用性更强;Python更简单,易于上手
1.2 开发环境与基础语法
1.3 类与对象
1.4 面向对象编程
1.5 简单的框架
九.软件测试学习路线