软件测试工程师岗位职责内容及测试流程

测试岗位区分

不同公司针对测试的岗位名称不同,但在投递简历前,需要了解一下测试岗位和主要职责内容是什么,大体上分为两类:系统测试、测试开发

  • 系统测试:

60% ~ 100% 人力投入到功能测试中,负责迭代需求跟进,偏客户端方向的手工测试内容占比会更多,也会有较少的人力投入到工具开发或自动化中,目标是为了保障业务需求质量,跟踪迭代流程,保证需求顺利发布

  • 测试开发:

80% ~ 100% 人力投入到测试工具、平台的开发中,工作模式类似于开发,负责内部测试工具、测试平台建设,提供给其他系统测试使用、或提供开发自测使用,目标是提供自动化测试能力,以及提升测试效率

迭代阶段测试职责

敏捷迭代中,根据需求特性设计测试用例,进行系统测试,迭代流程中的测试职责:

  1. 需求阶段: 参与需求分析,考虑本需求的边界异常,对其他相关模块是否有影响,是否有外部第三方依赖,是否需要进行性能、兼容性测试
  2. 开发阶段: 参与技术方案评审,分析代码改动影响范围,确定测试范围及回归测试范围
  3. 测试阶段:
    – 1)测试用例编写:根据需求PRD输出本特性测试用例
    – 2)测试用例评审:相关方:开发、产品、测试、leader
    – 3)输出冒烟测试用例,提供P0级别主功能测试用例给开发进行自测
    – 4)输出测试计划:包括本需求特性测试用例,历史主功能回归用例
    – 5)测试执行:执行测试计划中测试用例,创建bug单,判断优先级及严重程度,并跟踪bug修复状态
    – 6)输出测试报告:准出标准为,测试计划中的所有测试用例状态为通过(如有未通过/未执行测试用例需要说明原因),所有中高级别bug已修复并测试通过
    – 7)集成测试/回归测试:所有特性合并发布分支后,进行全部功能及主流程的测试回归
  4. 发布阶段:
    – 1)review发布内容是否为本次特性改动,进行发布
    – 2)发布完成后进行线上功能验收
    – 3)发布同时关注监控状态,如有异常立即回滚

功能测试

针对迭代特性,通过边界值、等价类、场景法等方式编写测试用例,尤其关注异常情况表现,相关功能影响等。常用测试方法包括:手工测试、接口测试、日志检索、数据校验等

兼容性测试

根据需求特性判断在功能测试阶段是否需要进行兼容性覆盖,包括:终端兼容、版本兼容等

  • 终端:PC、Android、iOS
  • 系统:Windows、Mac、Linux、Android、iOS
  • 浏览器:PC、Mobile浏览器
  • App版本兼容:新旧版本覆盖、向下向上兼容性
  • 第三方App兼容:输入法、插件等)

性能测试

根据业务特性需求,判断是否需要进行性能专项测试,制定性能测试方案、测试场景及测试用例,在相同环境条件下(同端、同数据、同网络条件)进行性能测试。性能测试应用场景包括:1)大促等高并发场景的系统健壮性评估 2)新旧版本性能优化效果对比

  • web端:首屏加载耗时、全部页面加载耗时、DNS时间、TCP时间
  • 客户端:内存、CPU、流量、电量、启动速度
  • 接口压力测试:响应耗时、吞吐量(TPS:每秒事务请求数、QPS:每秒请求量)、成功率

安全测试

针对需求特性分析是否存在安全隐患,添加安全测试用例,例如:接口安全、SQL注入、XSS攻击、敏感信息泄漏等

效能建设

在测试过程中,通过开源工具、自研工具代替手工测试,提升测试效率,常见测试方向有:

  • 接口测试自动化: 最常见的自动化测试手段,低成本高收益
    – 目的:覆盖后端接口代替手工测试,节省测试时间,针对稳定接口进行定期回归
    – 方式:可以根据微服务关联接口测试用例,进行精准测试
    – 有效性检测方式:借助代码覆盖率检查工具,检测接口测试用例覆盖度
    – 接口测试工具:Postman、SoapUI、REST-Assured、JMeter、Apifox、Katalon Studio、Karate、WireMock、Hoverfly、Swagger、YApi
  • UI自动化: 根据业务特性和终端判断是否进行UI测试自动化,但由于前段改动较频繁,UI自动化往往需要很高的维护成本,高成本低收益
    – 目的:代替手工测试方式,模拟用户行为实现全流程测试,也可以进行线上环境拨测,检查功能稳定性
    – 特点:维护成本高,误报率高,难以发现问题,不同终端可能涉及不同技术栈
    – UI自动化测试工具:Selenium、Airtest、Appium、Soapui、Robot Framework
  • 测试小工具:手工操作脚本化,提升测试效率,工具场景包括:数据构造、数据处理、数据模拟、Mock、
  • 持续集成: 将以上自动化方案内容接入CI/CD,在服务发布时自动触发自动化用例执行,并输出测试报告

你可能感兴趣的:(功能测试)