底辺過ぎてちょっとビビる

26歳からIT業界にいるエンジニアが、まったく成長できてないことを確認するブログ。備忘録的に使いたいとも考えています。

【UIテスト】クソみたいなテストケースを設計してたので反省している

これまでSEとしてシステム開発の現場でコーディングと共に単体テスト(UT)や結合テスト(IT)もやってきたが、これこそがテスト設計の本質、というようなものが自分の中ではっきりなかった気がする。客先常駐での期間の短さもあるし、現場ごとに「やり方」が異なるというのもあるし、最大の要因は自分の中で考えて設計してなかった、ということだと思っている。ただ単に日々のタスクというかノルマというかそういったものを消化することが念頭にあり、良い設計とは?という意識がなかったと思う。

 

「じゃあ今は『良い設計とは何か?』という意識のもとでしっかりテスト設計できているのか?」と言われると正直「できてません」と答えてしまう状態。徐々にそういう意識が芽生えつつある、という感じ。

 

芽生えつつある、というか必要に迫られてそういう意識に切り替えてる、という方が近いかもしれない。きちんと設計されていないテストケースをベースとしてチームでテストを実施すると、「実施できない」「確認内容が不明」などテスト実施中に中断して確認作業やテストケースの修正などで時間が取られることが増えたからだ。

 

少しでもそのような余計な時間を取られないためには「実施するにあたってテスト実施以外で時間を取られないようにしよう = だったら最初から良い設計をしておこう」という認識にならざるを得ない。

 

異常なテストケースを疑問に思わない

今のSES先にQAエンジニアとしてアサインされて、テストケースを確認したときに、こんなテストケースでも疑問に思わずにテストを進めてしまっていた。

 

f:id:starscream1999:20210710215328p:plain

悪い見本

だいぶ記述を端折ってはいるけれど、このようなテストケースが当たり前のように使われていた。ログイン画面に対して、IDとパスワードをそれぞれ入力し、次の画面に遷移してその画面の表示を確認するというような感じのテストケースにはなっている。どのあたりがテストケースとして正しくないかわかりますか。

 

このテストケースを一目みて、違和感を覚えることがQAというかテストエンジニアとしての第一歩かなと思います。ちなみに私は、このケースに違和感を覚える前に「こういうものか」と納得してテストを実施してしまっていました。程度が知れますね。

 

こんなケースが1年くらい前まで散見されたのが今のQAチームだった。これでは良いテストにならない。

 

それでは、どこが正しくないか見ていきましょう。

 

期待値があいまいなテストケースはとにかくダメ

「XXXXが正しいこと」という期待値はやりがちなのだけど、テスト設計者の意図とテスト実施者の意図が一致してれば良いだろうけど大概一致しないので、期待値としてはダメな記載です。何を持って正しいと判断するのか、を判定できないため。

 

ちなみに今のSES先のテストケースにはこのような記載がめちゃくちゃ散見されていた。それについて「これではきちんとした確認ができないのでは?」と主張すらしていなかったので自分も当然同罪だし、実際に設計時に「XXXが正しいこと」と期待値に記載していた。疑問には感じてはいたが、「妥当性をきちんと書くと手間が増える」という滅茶苦茶な理由でそのままにしていた。情けない話である。これでベテラン顔していたのだから始末に負えない。

 

別の話題になるけど、「XXXが表示すること」「XXXが表示されること」などの表現の差異に時間を取られるのは馬鹿馬鹿しいと思ってる。システム側が表示するので「表示すること」が正しいというのはわかるが、別にそこを「表示されること」と記載したとして影響はない。こんな指摘は設計書の文字サイズが揃ってないとかの指摘と同じだと思う。

 

実施手順が書いてない

そんなテストケースあり得るのか、という感じだが、あり得たというかそんなテストケースでテストを実施していた。「なぜテストケースに実施手順がないのだろう」と疑問に思わなかったのだろうか?「ここの現場はそういうやり方なのだな」という意識だったと思うけど、それにしても手順がないことそれ自体に対して違和感を覚えるべきだった。言語道断だと今は思う。

 

では、実際にテスト実施手順が書かれていないテストケースをどのようにすすめていたか?それはもう単純に業務システムの仕様を覚えて、頭の中で実施手順を描きながらすすめていたのです。これが何を意味するか。つまり、業務システムを知ってる人でないと実施できないということ。

 

例えばその業務システムを知らない人に急にテストを実施してもらうことになっても、その都度「X画面はこのA画面でBボタンを押して、Cを入力すると〜」というようにいちいち説明することが必要になる、ということ。非効率極まりない。

 

実際に、「どこまでの粒度でテスト実施手順を書くか」という部分についてはテスト実施者のレベル(例えば昨日今日入ったアルバイトにもテストしてもらう必要がある場合など)を考慮して設定する必要があるだろう。ただ、どのような場合でも「テスト実施手順が書かれていない」というのはあり得ない。

 

 

テストタイトルが同じものがいくつもある

例えば同じ画面内で同一項目の複数のテストを実施するにあたって、「X画面_Y項目」というタイトルのテストケースが並んでいたらどうだろうか。実施者は期待値や実施手順、前提条件などを見比べて異なるテストケースを実施していることを確認しなくてはいけない。

 

設計者の怠慢という部分もあるだろうが、設計時にどんなことを確認するテストなのかを端的に書けないというのはテストの期待値を誤っている可能性も出てくる。どんなことを確認するかわかっていないのに期待値をきちんと書けるだろうか?

 

同じ表示系の確認であっても単に数値が表示されることを確認するのか、計算結果を確認するのか、計算結果に例外が起こることを確認するのか、パターンは考えられる。

 

テストタイトルがない、単に「10A-1」というような管理番号でテストケースを管理する場合もあるだろうからテストケースタイトルをつける設計の場合に必要な意識だと思ってください。(シナリオテストとか)

 

また思い出したら続き書きます。

 

 

仕事に飽きてきたと自覚してきた時の振り返り

今のQAの仕事に飽きてきた。

 

2週間に1度くらいのペースで何かしらリリースがあり、そのリリースのためのQAをずーっとしているのだけど、なんとなく飽きてきた。1つのプロジェクトは大体15〜20人日くらいの工数なので、アサインは1人だったり2人だったり。それ以上だったりするのだけど、プロジェクトのリーダとして見積もり・テスト計画・テスト設計・テスト実施・テスト実施報告・リリース判定とやることは盛りだくさん。当然アサインメンバーが増えれば増えるほど管理工数も増える。

 

QAを実施するプロジェクトの内容はスマホアプリだったり、サーバサイドだったり、ごくたまにフロントエンドだったり。それに加えて、日本リージョンと海外リージョンのプロダクトをそれぞれ。

 

PMやディベロッパーの仕事の煩雑さも理解するが、QAも結構やること多くて大変なのである。リリース後にインシデントでも発生すれば「QAは何やってるの?」となるので...

 

今のSES先に参画した当初は「QA」という業務自体未知のものだったので、PMとの連携やディベロッパーとの連携などでわからないことばかりで迷惑ばかりかけた。今はある程度PM、ディベロッパーとの信頼関係も構築出来てきているので仕事のしやすさは当初と比べればだいぶ上がってきたと思う。そういう意味では、今の方が仕事は楽になってる部分があると思う。

 

参画当初は

  • 「業務何もわかりません」
  • 「テスト実施についても何もわかりません」
  • 「なので、全部教えてください」

という状態だったのが、すでに通り過ぎていて、

  • 「業務を知っているべき」
  • 「熟知しているべき」
  • 「テスト実施の効率化を考えるべき」
  • 「テスト実施しやすいように配慮すべき」

というような立場になっている。ちなみに上下で責任の範囲は増えたが、単価は5%しか上っていないのはご愛嬌。

 

おそらく、というか多分「責任」が増してきていることで「作業量」が増えてるので、それが精神的な圧迫になり、「仕事飽きた」に繋がってる気がする。逃避行動というような感じか。あと、プロパーの人がPLによるパワハラめいた叱責が続いたことで精神的に本格的にやられてしまい、鬱症状を発症してしまったことも外的要因としてあると思う。精神的な防御反応的な。

 

このプロパーの件は個人的には直接関係ないのだけど、やはりショックは大きい。「次の標的はオレになる」という恐怖。それと単純に業務知識のある人がフェードアウトすることで、負担がより増えるということ。それと併せて、チーム内のPLの下にいる若手QAエンジニアがチームリーダーとして頑張っているが、その人の負担が目に見えて増えてきているので、その人が爆発してしまわないかも心配である。

 

つまり、QAチームとして崩壊寸前なのである。若手QAチームリーダーがもしなんらかにより仕事ができない状態になったとしたら、おそらくQAチームは業務が回らなくなる。みんなこのチームリーダに頼りまくりなので。QAチームが崩壊寸前、決壊寸前に見えるので、「今のうちに逃げたい」という気持ちが膨らんできているのかもしれない。

 

 

ただ、多かれ少なかれこんなことはどこでも起きているし、業務内容がルーチン化(そこまでルーチン化してるわけではないが、繰り返しという意味で)によるマンネリ化はどんな業務でもある程度続けていればなりえるし、いちいちそれを理由に仕事を辞めていたらあっという間に50歳になってしまうし、今度は仕事を選ぶこともできなくなるから、諦めずに自分を自分で奮い立たせて頑張るしかない、という気持ち。

 

逆に今の状況はピンチなわけで、そのピンチな状況を自覚しつつ、どうやって乗り切るか、乗り切ったかを自分の糧にすることで経験値がまた上がる、と意識すればモチベーションが上がる気がしてきた。

 

 

 

【妄想記事】メタルマックスの新作を勝手に考える

メタルマックスゼノリボーンの続編、メタルマックスワイルドウエストの発売が発表されました。公式サイト メタルマックスゼノリボーン2という混乱を招くようなタイトルにならなかったのはよかったな、と個人的に思っています。

 

もう一つ個人的に言わせてもらえれば、ゼノのキャラクターを引き継ぐのではなくて完全に新規キャラクターのみの作品であれば新規に買う人も前作を気にしなくていいので、よりいいのではとは思いますが、どういうゲームになるかは正直わからないので、「ゼノのキャラクターを引き継ぐ」ということ自体なしになる可能性もあるわけでとりあえず続報を待ちましょう。とても楽しみです。

 

f:id:starscream1999:20210410022214j:plain

メタルマックスワイルドウエストのイメージボード

 

さて、ここからは「次世代のメタルマックス」を勝手に妄想する内容になります。現在のメタルマックス自体を否定する内容も含まれるので、ファンからは石を投げられる可能性もありますが、勇気を持って書き出していきたいと思います。

 

純粋なコマンド戦闘式RPGじゃなくてもいいんじゃないか

メタルマックスが最初にファミコンで発売されてから30年。あれから時代はだいぶ流れて、今はゲームで色々な表現を表すことが可能になりました。ファミコンスーパーファミコン当時は「ドット」でキャラクターとゲーム内の世界を表現することが当たり前でしたが、現在は3D技術も洗練されてゲームに3D表現が使われないことの方が多くなっています。またリアルな表現を見せるためのゲームエンジンも普及して、容易にリアルな世界を作り出すことも可能になっています(コストは知らない)。

 

どうしてもファミコン時代からの流れ、というか伝統というか歴史があるので、「古き良きコマンド式RPG」がメタルマックス、という固定観念があると思うのですが、そこをあえてリセットして、「アクションシューティングRPG」というのはどうだろうか?という妄想をしています。

 

イメージとしては、モンハンとかゴッドイーターとかホライゾンゼロドーン的なゲームをイメージしています。人間キャラクターが戦うゲーム、つまり「戦車抜き」

 

 

なので、必然的にプレイヤーキャラクターは「ハンター」ではなく「ソルジャー系」の職業キャラクターになるとは思いますが、それ以外の職業は例えばサブキャラとしてプレイヤーキャラクターの補佐にまわるような役割でもいいのかな、と思います(モンハンでいうところのオトモアイルー的な)。もちろんポチといったバイオドッグが味方にいてもいいですよね。荒野を人間と犬が当てもなく彷徨う、というのもなかなか渋くてカッコいいなと想像します。

 

メタルマックスといえば「賞金首」ですが、巨大な戦車やバイオ系の生物がのっしのっしと荒野を歩き回っているのを、避けつつ時には正面から戦いになるというのは結構面白い気がするのですが、どうでしょうか。戦車系のモンスターなら通り道に地雷を仕掛けておいてキャタピラを破壊してから攻撃する、とか色々と工夫した戦いを楽しめそうな予感がするんですよね。スライムみたいな不定型生物にはやっぱり炎系の武器が効く、とか。生物には超音波武器がよく効く、とか。難しいな、と思ったが高高度を飛来しているモンスターに対する攻撃なんですが、例えばスナイパーライフルのような長距離への攻撃が可能な武器なら当たる、とか考えてみたのですがどうでしょう。

 

 

戦車に乗れないけど

メタルマックス=戦車、というのがどうしても大きいので戦車を改造できないということもあるので面白さが半減するのかな、という気もしなくもないですが、武器とか防具をお金を使って改造する方向に向かわすというのはどうかな、と思ったり。もしくはプレイヤー自体が人間戦車(=サイボーグ的な存在)で、身体改造を行えるとかって言うのも一つの手かな、と思ったりしました。

 

そもそもメタルマックスの世界って文明崩壊後の世界なので、潤沢な武器防具が存在していない方がリアルなのかな、と思ったり。武器のパターンは10種類程度で、それをそれぞれ強化していくと言うのが世界観的にもマッチしているのではないか?と考えました。あまり武器が多すぎても「使わない=死にアイテム」みたいになるのも勿体無いというか。44マグナムがあるのにパチンコは使わないし。

 

両腕両足の改造で攻撃力や瞬発力や回避行動力がアップしたり、頭の改造でサーチシステムが強化される、とか。いいと思うんですけどね。

 

 

 

METAL MAX Xeno Reborn(メタルマックスゼノ リボーン) -Switch

METAL MAX Xeno Reborn(メタルマックスゼノ リボーン) -Switch

  • 発売日: 2020/09/10
  • メディア: Video Game
 
METAL MAX Xeno Reborn - PS4

METAL MAX Xeno Reborn - PS4

  • 発売日: 2020/09/10
  • メディア: Video Game
 
メタルマックス4 月光のディーヴァ 通常版 - 3DS

メタルマックス4 月光のディーヴァ 通常版 - 3DS

  • 発売日: 2013/11/07
  • メディア: Video Game
 
メタルマックス3(通常版)(特典なし)

メタルマックス3(通常版)(特典なし)

  • 発売日: 2010/07/29
  • メディア: Video Game
 
メタルマックス2: リローテッド(特典なし)

メタルマックス2: リローテッド(特典なし)

  • 発売日: 2011/12/08
  • メディア: Video Game
 

絶対無敵ライジンオーが2021年4月3日で30周年

絶対無敵ライジンオーというアニメを知っていますか?今から30年前の1991年に放送されていたアニメです。30年前、というとだいぶ前のことのように思いますが、90年代という時代を思い起こすと、ついこの間のことのように感じます。しかし、30年。当時生まれた子供が余裕で社会人になっている時間が経過してると考えると決してついこの間、というわけではなさそう。

 

f:id:starscream1999:20210406001705j:plain

絶対無敵ライジンオー

 

小学生時代は夕方の時間(17時台〜19時台)はアニメ天国でした。毎日なにかしらのアニメ(再放送含む)を放送していて、夕飯の前にテレビにかじりついていたのが自分の日課でした。シティハンター美味しんぼドラゴンボール幽遊白書魔神英雄伝ワタルドラえもんをはじめとした藤子不二雄アニメ、きんぎょ注意報、宇宙船サジタリアス、聖闘士星矢ドラゴンクエストさすがの猿飛、ファイバードから始まる勇者シリーズおぼっちゃまくん、シュラト、セーラームーンルパン三世魔法陣グルグルゲゲゲの鬼太郎悪魔くんあんみつ姫らんま1/2、おそ松くん...書き出したらキリがない。マジでアニメばっかり見て育った。

 

そして1991年4月3日の水曜日18時から始まったのが、のちに「エルドランシリーズ」と呼ばれる「絶対無敵ライジンオー」でした。普段アニメばかり見ていたくせに他のアニメはあまり内容とか記憶にないですが、ライジンオーだけはなぜか放送1話から自分の心にグサッと刺さって「こんなに面白いアニメはない」とつかんで離しませんでした。

 

色々な要素があるから、と思います。

 

  • 舞台が小学校
  • 主人公や登場人物がほとんど小学生
  • ロボットやメカを操縦するのも小学生
  • 作戦や指示を出すのも小学生
  • 小学校が変形してロボットの基地になる
  • 変形した小学校からロボットが出撃する
  • 全51話で必ずクラスの誰かが主役になる話がある(佐藤愛子は除く)
  • キャラクターデザインが魅力的
  • ロボットデザインが魅力的
  • BGMが魅力的
  • 何より主題歌、エンディングテーマが魅力的
  • 声優の演技が良い
  • アニメーショングラフィックが良い
  • 敵キャラクターが面白い
  • 「迷惑」をテーマに怪獣が出現する、というわかりやすさ

 

 

上げればキリがないですが、「面白い」が詰め込まれたすごい作品でした。自分と年齢の変わらないキャラクターが主人公でかつロボットまで操縦しちゃう上に、クラスメートも基地内のコントロールルームで作戦活動に従事している、という非日常感。

 

当時のアニメでも珍しかったと思う導入が放送初回にあったことも思い出深いです。最初に「物語の導入」→「絶対無敵の文字が流れるオープニング」→「本編」という流れ。まるで映画のようでした。この流れは「元気爆発ガンバルガー」や「熱血最強ゴーザウラー」でも採用されていました。考えた演出家は天才だと思う。

 

また当時のアニメの中でも群を抜いてオープニングとエンディングの楽曲のできが良かった。子供でもわかるくらい、というと語弊があるが明るく爽やかだけど、歌詞がしっかり心に響く内容。今でもアニメソングのランキングがあると上位に入ることも納得できる。

 

名曲「ドリームシフト」は丁度1:00から

 

第1話だけではないけれど、メインパイロットであるが、クラスの中心人物ではない「星山吼児」がナレーションを務めているのも面白いと思う。彼はどちらかといえば星空観察が趣味の大人しいタイプの少年で、同じメインパイロットで元気いっぱいの日向仁やハンサムで子供にしては冷静な方の月城飛鳥に比べると地味だ。だが、あえてナレーションをさせているというのは何か意図があるのだと思うが、とてもハマっている。

 

自分はどちらかというと吼児タイプの少年だったので、それもまたシンパシーを感じる部分だったと思う。吼児役を演じていた声優のまるたまりさんの声質が丁度よくて(というかライジンオーの登場キャラクターは声優さんの演技がどれもピッタリだった)、アニメを見るのに集中できたような気がする。

 

当時は習い事に通うこともなかったので、水曜日の18時は本当の意味でゴールデンタイムだった。時間になればテレビの前に待機して放送を楽しみにしていた。今だったら多分録画して繰り返し見るということもしていたはずだろうが、当時は録画機器はあってもビデオテープ一本が貴重だったので、アニメには使えなかった。というか毎週放送するアニメを録画する、という認識がなかった。

 

流石に最終回はビデオテープに保存してその後繰り返し見ることになるのだけど、最終回もまた映画的な演出(通常のエンディングではなく、最後までアニメが続く中でスタッフロールとエンディングテーマが流れる演出)だった。今までたくさんアニメは見てきたけど、「物語が終わることの悲しさ」は他のアニメの比ではなかった。アニメは見てるけど、アニメファンではなかった自分が初めてアニメディアを買ったのもライジンオーがきっかけだった。今のようにインターネットも当然ないので、ライジンオーの情報に飢えていたのだ。「ライジンオー」という文字列があればなんでも良かった気がする。

 

幸いライジンオーは自分だけでなく視聴者にも大人気で、放送終了後もOVAが3巻出たり、同人誌的なコミックが出版されたり、ドラマCDなども発売されて、メディア的には続いてくれたというのも良かった。当時はイベントも主催されたそうだが、当時まだ子供だった自分はイベントの存在そのものも知らなかったので、後ほど手に入れたビデオの中にある冊子で情報を得た。イベントに参加した人たちがとても羨ましいです(血涙)

 

脚本の園田秀樹さんはライジンオーの小説版を出版されたり、キャラクターデザインの武内啓さんも現役のアニメーターをされていて、SNSでイラストをアップしてくれている上に今でも当時のような瑞々しいイラストなので、ビックリします。ロボットデザインのやまだたかひろさんもSNSで見かけるロボットデザインは健在でとてもすごいです。BGMの田中公平さんは当時からずっと第一線で活躍されて、色々な作品でBGMを担当され、今では立派な大御所になっていますが、ライジンオーのBGM自体はお気に入りのようで何かと言及される機会があるので、ファンとはしては誇らしいです。

 

 

そんな思い出深いアニメ作品が今年で30周年。あっという間でしたが、仁たちももういい年齢ですね。彼らの子供たちが主人公のエルドランシリーズ、見てみたい気もします。頼むぞサンライズ!!!

 

しかし、今見ても栗木容子(クッキー)のキャラデザは完璧だと言わざるを得ない。

f:id:starscream1999:20210406002020j:plain

真ん中の大きなリボンの女の子がクッキー 

 

 

絶対無敵ライジンオー Blu-ray BOX

絶対無敵ライジンオー Blu-ray BOX

  • 発売日: 2016/11/25
  • メディア: Blu-ray
 
絶対無敵ライジンオー

絶対無敵ライジンオー

 

 

【SESでの悩み】業務知識は増えるけど、他で使えない知識が増えるだけなのでは?

 

今のSES先にアサインされて2021年1月で1年半になる。もう3月なので1年8ヶ月だ。QAチームで仕事しているので、いわゆるプログラミングに関する業務はゼロ。基本的にブラウザだけを触っている。つまり技術的な知識はほとんど身についてない。

 

業務としてやっていることは、

  • UIテスト(WEB及びスマートフォン端末)
  • バグ起票としてJIRAの利用
  • テスト設計(見積もりからテストケース作りまで)
  • テスト実施後の振り返りとしてKPTやポストモーテムの実施(作成)

といった具合だ

 

例えば今のSES先から契約終了を打診されて放り出された場合に、これらの経験が他のテストプロジェクトにおいてどの程度評価されるだろうか。特段目を引くようなことをしているわけでもないし、年齢的にはどれも「出来て当たり前」な気もするので評価の対象にはならなそうではある。

 

毎日色々なプロジェクトが並行して走っていて、いずれも業務を知らないと出来ないテストだったりするので、業務に関する知識は着々と蓄積されてはいるのだけど、この蓄積された業務知識は他では役に立たないだろうし(もし同業種なら話は別)、どの程度どっぷり浸かるべきなのかというのが悩みだ。

 

1年半以上やってる割にはテストの進め方も設計の方法もあまりしっかり出来ていなくて、他のテスト会社からやってきた同じようなSESのメンバーからダメ出しを喰らうことも多々あり、まだまだテストエンジニアとしてはひよっこなので偉そうなことは言えないのだけども。先のことよりまずは目の前のテスト設計に集中しろ、ということ感じ。

 

しかし、今まであまりSESで入ったプロジェクトでも長い期間やることがなかった(最長で半年〜1年程度)ので、このような「業務知識がどんどん増えているけど、それになんの意味があるの?」という悩みは生まれてこなかった。色々と話を聞くと「5年」とか「10年」とかいうレベルでSES先にいるような人も少なくなくて、下手すると社員よりも業務知識があるような人がいたりする。そんな経験や知識のある人だってSES先の状況次第では社員よりも先に首を切られる(正確には失職することになるわけではないが)ことになるわけで、ある程度自衛のために自分の研鑽をしなくていけないと思う。

 

知識は増えても荷物になるわけではないし、場合によっては巡り巡って同じ業種に携わることもあるだろうから知識が増えることそれ自体は悪いことではないが、いつまでも環境に甘えて何も成長しないでいることの方が問題なのかもしれないな。

 

ありがたいことにプロジェクトのリーダーを任せてもらえてるので、ここでちゃんと信頼を得て、しっかりリーダー業務というものがどういうものか、何が必要で自分に何が足りてないのか身につけていきたい。