未経験からエンジニアを目指す時に必ず不安になるのが、
「テストばかりやらされるんじゃないか」
ということです。
とりあえず1年はテストをやってもらって、
みたいな就職先も少なくありません…
この記事を読んでくださっている、
エンジニア未経験の方は
少しテストについて誤解されているかもしれません。
この記事では、
実際はテストばかりやらされるのか、
未経験エンジニアがなぜテスト業務に携わることが多いのか、
その理由や意味を深堀していきます。
テストの見方が少し変わるかも!
未経験エンジニアはテスト業務が多いのは本当?
まず結論から言うと、
「正直、テスト業務は多いです!」
もちろん、
入社する会社や時期によるとは思いますが、
入ってから数ヶ月はテストをやるケースが多いです。
ではなぜテストが多いのか、
テストをすることが悪いことなのか
解説していきます!
未経験エンジニアがテストから始める3つの理由
システム全体の理解を深めるため
未経験エンジニアにとって、
いきなり高度な開発業務に入るのは難しいものです。
コードを書く前に、
まずはシステム全体の流れや動作を理解する必要があります。
テスト業務を通じて、
システムがどのように機能するか、
どのようなインプットがどのアウトプットを生むのかを学ぶことができます。
実際の動作を確認しながらシステムを理解することは、
独学ではなかなか経験することができないので
勉強になります!
業務知識を身につけるため
ソースコードを書くためには、
単に技術力があれば良いというわけではありません。
プログラミング言語の知識や
アルゴリズムの理解だけでは不十分で、
実際の業務に即した「業務知識」が必要です。
業務知識とは、
その業界や会社で使われているシステムや業務の流れについての理解のことです。
特に業務アプリケーションや企業向けのシステムを開発する場合、この知識は欠かせません。
たとえば、
あなたが勤怠管理システムを担当するとします。
もし、勤怠の仕組みやルール、
法律について全く知識がなければ、
どんなにコードが正しく書けても、
実際の仕様が間違っていても気づけません。
働き方の規則や、休暇の管理、残業計算の方法など、
業務に密接に関わる知識が欠けていれば、
システムが期待通りに動かせないし、
なにより自分が何をしているかわからないので楽しくないです。
リスクの低い業務から始められる
未経験者がいきなりコードを書くと、
システムに不具合を引き起こしたり、
予期せぬエラーが発生したりする可能性が高くなります。
テスト業務は、開発業務に比べてリスクが低く、
新人が業務に慣れるためのトレーニングとしては理想的です。
テストでは、
コードを修正したり追加したりすることが少ないため、
システム全体に影響を与えるリスクが少なくなります。
そのため、
まずはテストから始めることで、
新人エンジニアがミスを最小限に抑えながら
実際のプロジェクトに参加できるという利点があります。
そもそもテストのイメージが悪い理由
この記事を読んでいると言うことは
あまりテストに対していいイメージは
持っていないんじゃないかと思います。
ネットを探せば
- テストは単純作業でつまらない
- テストでは給料が上がらない
- テストでは技術が身につかない
みたいなネガティブなコメントが多くあります。
では、実際のところどうなのか。
テストは単純作業でつまらない
最初のうちはつまらないと
思うことは少ないです。
テストシナリオの作成、エビデンスの取り方
テストの進め方など最初は覚えることが
たくさんあるので!
テストシナリオとは
作っているシステムにどんなテストをすれば良いかを自分で考えること。
エビデンスとは
テストした結果を証拠として、後から見返せるように残しておくこと。
ただ、慣れてくると、
同じことの繰り返しになってしまいます。
どんな仕事もそうですが、
同じことの繰り返しはやはり苦痛です。
単純作業でつまらないと言っているひとは
ある程度慣れてきて
次のフェーズに進むべき人と言えますね。
テストでは給料が上がらない
結論、ずっとテスターでは給料は上がりません。
特にテストシナリオを作らずに、
違う人が作ったテストシナリオを流すだけのテスターは
給料が上がらないです。
理由としては
技術がなくてもできてしまうからです。
基本的には上流工程に行けば行くほど
給料は高くなっていきます。
ただし、いきなり要件定義から入りたいと言っても
未経験エンジニアでは歯が立ちません。
少しずつ下流工程から上流工程に
ステップアップしていくことで
給料も上がっていきます。
テストでは技術が身につかない
結論、テストでも技術は身につきます。
少なくともテストをすると言うことは
実際に組まれているプログラムを読むわけなので、
読むだけでも勉強になります。
多少のバグであれば、
「直しておいて!」と
修正を任せてもらえることもあります。
テストツールを導入しているところであれば
テストをするためのコードを書いたりもするので
技術力も身につけることができます。
テストに対する誤解をとく
ネガティブな意見もありますが、
結局テストはめちゃくちゃ大切です。
エンジニアは開発をして終わりではありません。
きちんと自分の作ったものが正しく動くか、
要件を満たしているかを必ず確認します。
テストは自分の作ったプログラムの
品質を担保するための最後の砦なわけです!
まずはそのテストができるようにならないと
もし開発したとしても
バグだらけのシステムを作ることになり、
結果的にあなたの評価が落ちてしまいます。
結論:テストは必ず通るべき道
エンジニアとしてキャリアを進むのであれば
必ずテストの知識、経験は必要です。
そのため求人に
「まずはテストからやっていただきます。」
みたいなことがあってもそんなにビビる必要はないです。
しかし、中には
未経験エンジニアだからと言って
数年間テスト漬けにする会社の話も聞いたことあるので
会社選びは慎重にいきましょう。
面接で業務内容など
ある程度逆質問すれば
どのようなキャリアを目指せるか
わかってきますので!
テストはただの単純作業ではなく、
システム全体を理解し、業務知識を身につけ、技術を磨くためのもの
とわかっていただけると幸いです。
以上、まさとでした!