QA新入社員の1年間

このエントリーをはてなブックマークに追加
今年度入社のkuramochiです。QAエンジニアとして今年度新卒として頑張っています。
技術部ブログですが技術的なネタを皆さんみたいに一切持っていないので、''新入社員らしく''4月(入社前研修含む)からを振り返る形式で書いてみようと思います。


●○入社前○●
◆12~3月
[ 技術部入社前研修 ]
・参考書のPerlをもとに実践しながらレポートを作成
・数個のレポート作成(メソッドとは何か?等)
・掲示板作成
[ 共通入社目研修 ]
・HP作成

●○入社後○●
◆4~6月
全体研修 ⇒ シャノンについて、マーケティングについて、ITのこれから、外部研修、マナー研修、現場研修(CRM EXPO、その他)

この時期から今でも続けている「日報」は、今でも本当に役に立っていると実感しています。
朝ミーティングでチームの中で前日にやっていた作業等を共有するのですが、忘れてしまうこともありますが毎日日報を書いているので朝確認してそれを報告することで共有したい内容の言い忘れを防ぐことができるのです。
また実際に現場に行けたことはとてもいい経験であったと実感しています。
私は技術部に配属されるとなかなか現場の空気を味わうことができなくなるから、現場でお客様がシャノンマーケティングプラットフォーム(以後、SMP)をどのように使っていてどこを見てどう感じているのかを間近に感じることができました。

◆7月
配属が決まり、QAに!
最初の仕事は毎日夜中に作動させている「自動テストの監視」でした。
この自動テスト、私は最初から存在するので不思議には思わなかったし便利とも感じていませんでしたが、毎日の微妙な変化を見つけてくれるとても賢いものなのです。
その他に先輩たちが残してくれている各機能の仕様確認等含め、社内wikiにあるテストケースを見ながら、とことんSMPを触りました。今でも知らない機能はたくさんありますが、少しは身についたのでは?とは思っています。

◆8月 

スクラムメンバーに配属されました。しかしスクラムに慣れるためにスタンドアップミーティングに出ていただけで実際の作業としてはQAの研修内容として、以下の自動テストを作成していました。
・途中付け足しの自動テスト作成 ⇒ アンケート、講演者
・最初から作成 ⇒ ID連携(
ユーザーのID情報をサービス間で交換すること)

◆9月

晴れてスクラムチームのメンバーとして活動開始。
はじめてのテーマタスクは”timezone”。SMP内に表示される時間表記でtimezoneを変更したら、日本時間とは違った時間として表示されるかを確認します。
例えば、日本時間は+09だがロンドンは+00なのでシステムで認識表示される時間は日本時間よりも-9時間になっているかというものです。
時間表記で特に注意した箇所は以下です。
システム登録日時、システム更新日時、開催日時、開催期間、申込日時、申込期間、CSV、トラッキング、クリックカウント、API、ID連携、SFDC、セッション(サブキャンペーン)内

この他に”セキュリティー(個人情報表示部分)”のテストも担当していました。

◆10月
9月で対応したtimezoneに加え、更に管理者ごとのtimezoneを設定する機能の対応を行いました。 SMPの管理者ごとなのでシステム管理者、特権管理者、セミナー管理者、セッション管理者の全てを確認しにいきました。確認のやり方は前月と変わらないので設定はスムーズにできましたが、自動テストとして動かすためには
どういうテストケースにするかということが一番難しかった点だったと思います。システム登録日時と更新日時はシステムがtimezoneを認識して表示させる時間なので、timezone用にseleniumが動くようなJSを書かなくてはいけません。
周りの先輩方にお世話になりながらでしたが、timezone用の自動テストのJSは以下です。

function getTimeZone(d,offset) {
  var d = new Date();
  var localTime = d.getTime(); // クライアントPCシステム時刻
  var localOffset = d.getTimezoneOffset() * 60000; // localTimeのタイムゾーン差分(ミリ秒)
  var utc = localTime + localOffset; // UTC時刻(ミリ秒)
  var result = utc + (3600000 * offset); // これで目的のミリ秒がでるので
  return new Date(result);
}
上記Javascriptはあくまでも自動テスト用なので優先度の問題等により、サマータイムの時期は考えていません。

<例>seleniumではタイムゾーン+9(Asia/Tokyo)を例にし、以下のようにして使用します
コマンド : storeGlobal
対象      : javascript{DateFormatter.format(getTimeZone(new Date(),+9),'Y-m-d')}


また、10月も前月に引き続きセキュリティーの”セキュリティー(個人情報以外)”を担当しました。

◆11月
前月で取り組んだセキュリティーはtimezoneの自動テストが思った以上に時間がかかってしまったため、リリース日程をずらしてもらい次月になったので引き続き11月もテスト作業を続けました(この月に作業した物は12月末にリリース予定です)。SMP管理画面内の全パス直たたきに挑戦しました。


◆12月
12月リリースした範囲で問題が発生。
このテストを再度行う作業をしていました。
しかしここで私の微妙な達成感がわいたのです。この時の私の素直な感想は、「あっこれ私が関わったやつだ」でした。QAとは、縁の下の力持ちの力持ちくらいでしょうか。なかなか難しい仕事だと改めて実感しました。
その他に作業していた内容はAPIの自動テストを作っていたことです。

◆1月
1月の割り当てられたテーマタスクは”申込期限通知”。
申込期間が終了となったときに担当とされる管理者宛へ通知がいくものです。

この作業はDBの中身を直接見に行かなくてはいけない作業であったので、この時真剣にSQLの勉強をしました。パフォーマンステストの内容含めて 4000件のセミナーセッション・10000件の管理者の環境を構築しその中で作業するにあたって、DBの中から申込期限の日時を一括で変更させる方法しかなかったからです。この機会によってDBの中を見ることが楽しくなり、今は無駄に見てます。

◆2月
全社MTG(12月17日)の次の日に密かに受けていた(上司公認)国家試験に合格。
2月の割り当てられたテーマタスクは「送信ウィザード利用履歴」周辺です。こちらはテストはそんなには難しくなかったので調子よく進んだのですが、自動テストを作る段階でタイミングとかの関係もあり難しかったです。便利になったと言ってもらえると嬉しいなと思いながら作業していたのを覚えています。


またこの月にはじめて外部の勉強会に参加しました。外部の方との交流が一切ないので、技術部の窓口となっている先輩に情報をいただき自分も運用している”jenkins”の勉強会に参加しました。
内容は 「jenkinsを導入するには」。
以下、実際に会場でアンケートしていたものです。
・jenkinsをすでに導入している企業は3分の2程度(参加者約50名)
・AWSの活用をしている企業はゼロ(シャノンだけ?でした)
・jenkinsをテストとして活用している企業はハイレベルらしくほぼゼロ

今回の議題が導入するためには、という内容でしたので、上記の印象を持ったのも仕方ないのでしょが。。。素直にシャノンっていったい………?と思いました。
ありがたみをまだ実感できない私は贅沢なのかもしれないです。

◆3月
現在はAPI自動テストと少し開発の勉強をしています。

以上、つらつらと書きましたがまだまだ未熟者な私ですが、日々前を向いて頑張っています。
最近では自分から何がやりたいとか、こうしたらよいのでは?という意見を口にできるようになりました。来月は何をするのか、乞うご期待です。
理解が遅い部分が多少ありますが、今後ともよろしくお願いします。
次の記事
« Prev Post
前の記事
Next Post »
Related Posts Plugin for WordPress, Blogger...