软件测试“就业竞争小,人才缺口大”,为什么我找不到工作?

Posted 普通网友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试“就业竞争小,人才缺口大”,为什么我找不到工作?相关的知识,希望对你有一定的参考价值。

软件测试“确实”缺少人才

最近经常刷到这个问题,软件测试人才缺口比较大,肯定是好找的,但在培训完后,去了企业说白了是干活去的,只有付出了劳动,企业才给报酬。

有这个问题还得多多学习一些实战与理论结合的经验,比如去访问一些专业的软件测试网站,增加自己的知识面,比如楼主愿意花点钱,看一些网站实用干货。

在目前就北、上、广这些大城市而言,做IT行业的公司多如牛毛。

  • 随着经济的发展,物联网的推动,一些二三线城市的IT行业也在崛起中,当然啦那么有研发的团队一定是需要测试的,不然软件中存在的BUG谁来测试?
  • 就算有些公司由研发人员来兼职,但是研发过程中人员测试力度和测试时间是否真的充分并且保证度?
  • 那么兼职的研发人员是否具备软件测试技术?

这些都是项目中的随处可见的风险。所以公司为了将高质量的产品卖出去,或是交付给客户方面使用前必须经过严格专业的软件测试,就算验收测试请外头的第三方测试公司和用户一起完成,第三方测试公司是否需要测试人员?是否需要测试团队?那答案肯定是需要测试人员。那么第三方测试机构或软件公司都是需要软件测试人员,所以软件测试人员的需求率只能多不可缺少比研发人员还要少。

从软件开发的模式来讲,现在支持多样化,有B/s、c/s、ISO、安卓端,甚至是微信小程序等,那么多的架构模式就需要大量的专业软件测试人员来支持,所以软件测试人员的需求量还是巨大的,说白了,一个软件测试不能身兼数职就能完成拥有七八个研发团队的工作量,这种有七八个研发团队就需要两个软件测试工程师。甚至需求更多,有些大企业做到了研发人员和测试人员是1:1的比例存在。所以软件测试人员的需求量肯定是大于我们的想象。

一个优秀的软件测试人员在研发过程中,团队中间也会提升软件质量的同时,还会对优化软件的功能,这是也是开发人员做不到的细节。,如果把软件看到的是一个盒子,开发人员知道盒子里的内部结构和盒子材质、形状大慨等。。但测试人员事先不知道盒子的内部结构,就会对盒子的尺寸、盒子材质厚度、形状等提出建设性与经验性讨论建议,从某个角度来讲,就是优化了软件的本身功能与减少bou出现从而又对软件质量做到了有力保障交付给客户的力推。所以软件测试人员还是比较好找工作的。

那测试工程师要如何提升自己的专业水平,提升自己的竞争力呢?

一、 熟练使用SQL

  1. 常用的 sql 语句一定会写。比如说增删改查之类。
  2. 了解数据库的事务、会编写存储过程、熟练常用的系统函数。
  3. 了解并可以进行数据库的备份、迁移、还原、镜像等操作
  4. 对 sql 语句进行调优,并对可以对运行的语句监控查看性能
  5. 了解数据库集群等操作。

二、 Linux

Linux是测试人员的基础功,不需要掌握太难或者很不常见的Linux命令,正常能做到查看日志,定位问题就可以了。

1、基本命令

常用的Linux基本命令,面试经常会问的,或者给出一种场景,问你用什么命令。

2、查看日志

初级测试人员在工作时经常遇到,发现bug,开发不承认或者不愿意解决的情况,测试人员怎么摆脱这样的问题呢?

那就是根据发现的bug根据日志级别,来查看日志,定位问题。

具体的日志级别分为四级:

  1. info : 代码 info 信息,不包括sql语句等一些debug信息
  2. warning warning : 代码警告信息
  3. error : 程序本身报错信息 java.lang.outindexERROR…
  4. critical :几乎用不到

一般不符合需求的bug在 debug中,程序本身报错的bug在 error中。

三、 使用数据库,跟数据流向

1、数据库的本质

常见数据库主要是MAYSQL、ORECAL、Redis

其中mysql数据库是典型的关系型数据库

2、数据库操作

(1) 数据库和表操作

(2)表数据操作

(3)复杂sql查询

四、写好测试用例

测试用例必须包含的内容:

用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。

1、测试用例的编写流程

需求分析->提取测试点->测试用例编写->测试用例评审

2、编写测试用例的思路

(1)根据产品的RPD,提取测试点。

(2)根据数据流的走向。

(3)根据的架构部署。

(4)编写测试用例的常用方法:等价类划分法、边界值分析法、流程图法等。

(5)覆盖弱网测试、接口测试、安全测试、性能测试等。

(6)常用测试工具有:Postman、 Charles、 Fiddler 、Jemter、Loadrunner等。

3、编写测试用例注意事项

(1)根据项目的实际情况设计测试用例表格

(2)用例格式不要生搬硬套

(3)根据具体情况编写

(4)学会质疑需求,不要完全按照需求来写测试用例,要从客户和产品的角度来理解需求,看到需求之外的功能和体验

五、 http与https协议

面试经常关于Http协议的下面几个问题

  1. Http协议原理
  2. http和http协议的区别
  3. TCP和UDP的区别
  4. session和token的区别
  5. 公钥和私钥的理解
  6. get和post的区别
  7. 从输入URL到页面加载发生了什么
  8. 什么叫代理,正向代理和反向代理?

六、了解业务

业务熟悉后,会知道很多常识,知道下面的常识之后,你就可以尝试进阶,学习做自动化测试、接口测试、性能测试

  • 什么时候介入自动化 => 当你系统趋于稳定的时候
  • 什么时候介入接口测试 => 当接口开发完毕的时候
  • 什么时候介入性能测试 => 当出现促销的时候,或者抢购的时候(618大促,过年抢火车票,抢优惠券)

比如说,5000张优惠券,大概有多少人抢,在多长时间内抢完。

七、 bug管理

做功能测试,还有个很重要的工作就是bug管理,一个优秀的的测试人员,线上bug非常多,多于和你一起工作的其他同事,但是线上bug非常少,少于其他同事。

1、 bug定义

(1)不符合需求的

(2)程序本身报错

(3)不符合用户的使用习惯

2、bug生命周期

当我们测试人员提交一个bug的时候,自始bug就有它的生命周期,从开始到结束。

3、测试报告

把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础测试报告和测试计划一样,一般由测试leader编写,测试人员需要了解一下测试报告中都有哪些内容。

八、 典型bug

1、抓包作用: 测试一个app搜索功能,抓包,抓到一个搜索接口,突然发现抓到了两个请求接口 -> 当访问量上来了,服务的压力上升两倍

2、数据流走向 : 测试时候发现页面上数据只有一条,但是数据库里面多了一条 -> 1、数据量变大,查询变慢 2、脏数据太多,瞬间爆满,程序崩溃了

3、弱网测试:app项目一定要有弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

总结

做好功能测试并不是一件容易的事情。我做了两年的互联网功能测试,还是很多知识不明白,只有不断的学习,自己才能成才。

很多人功能测试都做不好,就想做性能测试、自动化测试,其实是好高骛远,我觉得基础打好了,再去学习,肯定事半功倍!

为啥我找不到 Dockerfile?

【中文标题】为啥我找不到 Dockerfile?【英文标题】:Why can't I find the Dockerfile?为什么我找不到 Dockerfile? 【发布时间】:2021-01-09 07:23:26 【问题描述】:

我正在制作一个 Python (Django) 和 MySQL 项目。 创建一些文件后,运行命令时出现错误。

docker-compose up -d

ERROR: Cannot locate specified Dockerfile: Dockerfile

当我在当前目录中有 Dockerfile 时,为什么会出现错误?

MYAPP
-django
--__init__.py
--asgi.py
--settings.py
--urls.py
--wsgi.py

-docker-compose.yml
-Dockerfile
-manage.py
-requirement.txt
-wait-for-in.sh

docker-compose.yml

version: '3'
services:
  db:
    image: mysql:5.7
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
    - .:/var/www/django
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: django
      MYSQL_DATABASE: django
      MYSQL_USER: django
      MYSQL_PASSWORD: django
  web:
    build: django
    command: sh -c "./wait-for-it.sh db:3306; python3 manage.py runserver 0.0.0.0:8000"
    volumes:
    - .:/var/www/django
    ports:
    - "8000:8000"
    depends_on:
      - db

Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir -p /var/www/django
WORKDIR /var/www/django
ADD requirements.txt /var/www/django/
RUN pip install -r requirements.txt
ADD . /var/www/django/

【问题讨论】:

【参考方案1】:

你可以试试这个

web:
  build:
    context: ./django/
    dockerfile: ./Dockerfile
    command: >
      sh -c "./wait-for-it.sh db:3306; python3 manage.py runserver 0.0.0.0:8000"
    depends_on:
      - db
    ports:
      - "8000:8000"

【讨论】:

【参考方案2】:

您可以尝试以下方法:

web:
  build:
    context: ./django/
    dockerfile: ./Dockerfile

【讨论】:

【参考方案3】:
web:
    build: django

是一个快捷方式

web:
    build:
        context: django

这意味着,Docker 镜像构建在 django 目录中。 Dockerfile 应该放在那里。与 manage.py、requirement.txt 和 wait-for-in.sh 相同。

【讨论】:

以上是关于软件测试“就业竞争小,人才缺口大”,为什么我找不到工作?的主要内容,如果未能解决你的问题,请参考以下文章

华军有个视频处理的软件很有名的,是汉化免费的。我忘了。谁帮我找下。我找不到。谢谢!

为啥我找不到 Dockerfile?

为啥我找不到 ProgressiveMediaSource?

XCode - 为啥我找不到文件?

为啥我找不到 SSL 握手的信任库?

SQLSTATE [42S22]:找不到列:1054 'where 子句为啥'中的未知列'4'我找不到错误