テスターちゃん【4コマ漫画】

ソフトウェアテストの用語、やり方などを4コマ漫画でわかりやすく説明する(予定の)ブログです。脱線も多いです。



106. リグレッションテスト その④

f:id:m_training:20210524065624p:plain

106. リグレッションテスト その④

自動テスト

自動テストは、プログラムやツールを使って、決められた内容にそって行うテストの総称です。

例えば、プログラムと一緒に「テストするプログラム」を書いて、自分たちの書いたプログラムが思った通りに動くかテストするunit testがあります。

他にもAPIというデータ処理をして返してくれる窓口にデータを送って、返ってきたデータが正しいか確認するAPIテストなんかもあります。

あとは、作ったwebやアプリに対して、自動的にボタンクリックなどをするようなツールを使ってテストするE2E(エンドツーエンド / いーつーいー)自動テストもあります。

 

テスト業界いる人が「自動テスト」と話した場合はE2E自動テストを指すことが多いです。

開発の人が「自動テスト」と話した場合は、プルリクエスト(自分が書いたプログラムをみんなのプログラムとくっつけてください!というリクエストを投げたりします)したときに自動的に実行されるunit testを指したりしています。

 

リグレッションテストで自動テストが向いている場所

続きを読む

youtube投稿をしてみました

ある晴れた休日。

散歩をしていた時になんとなく思ったのです。

「そうだ。youtube動画を撮ってみよう!」

その日のうちに撮影してyoutubeへポン!

 

ほんと上記のような思い付きとノリと勢いだったのですが、投稿しましたら好評でしたので3回ほど撮ってみました。

イメージとしては会社に入ったばかりの新人さん用といったところです。

気が向いたら撮っていくつもりです。

そして……マンガも描き進めます~!!

 

youtu.be

 

youtu.be

 

youtu.be

 

再生リスト

テスターちゃんねる - YouTube

 

105. リグレッションテスト その③

f:id:m_training:20210418173227p:plain

105. リグレッションテスト その③

 影響があるところ

マンガで描いた通り、影響がある部分がどこかはとっっっても難しい問題。

JSTQBでは「影響度分析」という言葉で出ています。

影響度分析…変更が影響するすべての成果物を識別すること。変更を達成するために必要なリソースの見積りを含む。

変更が影響するすべての成果物を識別……とサクッと書いてくれてますが、そんなにサクッとはいかないのが現実です(^-^;

メソッド(プログラムだよ)を直したら、そのメソッドを呼び出しているところを探したり。

データベースのテーブル(表みたいなものだよ)をいじったなら、そのテーブルを使ってるところを探しまわったり。

APIをいじったら速度低下してないか計測したり。

バッチのSQL文を変えたらその影響で速度低下して、そのバッチがつきぬけて(時間オーバー)後続処理に影響ないんだっけって探ったり。

環境の変数をいじったら同じ環境にいるシステムでその変数使ってるところ探したり。

ガッツリやろうとすると時間がいくらあっても足りないところでもあります。

 

次のお話からは、こんなやり方をしてるところもあるよ、といったお話をしていくつもりです。

 

紐づけ

テストケースに、そのテストケースが何のテストベース(テストを考える元となる資料だよ)のどこから出したもの、と紐づけておくとよかったりします。

その元の資料にある場所に変更があったとき、どのテストケースの部分に影響がおよびそうかわかりやすくなったり、仕様変更時にどのテストケースを修正したらいいかわかりやすくなったりします。

テストの言葉だと「トレーサビリティの確立をする」なんて難しい言葉で言ったりします。

何を根拠としたものかたどれるようにしておく、ってことですね。

 

(ちなみに作者はweb系/ゲーム系にずーっと身を置いてますが、本を読み知識としては知っているものの、しっかり書かれている現物には出会ったことがなかったり)

 

104. リグレッションテスト その②

f:id:m_training:20210405063230p:plain

104. リグレッションテストその②

リグレッションテスト

変更によって、他のテスト済みの機能に意図しない影響が出ていないか確認する目的のテスト全般のことをリグレッションテストと言います。

特定の手法を指している言葉ではなくて、そういう目的のテスト全般をリグレッションテストというよーといったかんじです。

昔は「回帰テスト」と呼ぶところが多かったけれど、今のJSTQBシラバスでは「リグレッションテスト」になっています。

他にも会社によって呼び方はそれぞれ。

かたくなに呼び方にこだわらず、会社でちゃんと伝わる言い方をしましょう。

言葉は正しく伝わってこそのものです。

 

バグ修正などを行うと中に手が加わるわけで、やっぱり中身はちょっとだけ変わります。

その「ちょっと変わる」によって、その機能からの出力がちょっと変わることもあります。

その機能だけ見ると上手く動くようにはなっているのですが、関係する機能が実は「その出力だと受け付けられない><」とか、受け付けられるように他の機能も修正してたけど直し忘れた箇所がある…なんてなってしまっていて、動かなくなってしまうことがあるわけです。

これは直接関わっている機能(プログラムの中で、その直したプログラムを呼び出しているところ)だけではなく、データなど共通して使っているモノ、システムが歯車のように連動して動いているところでも発生したりします。

マンガで描いたように、新機能から入れたデータが既存システムだと問題ある形だったり。

あと、システムの環境の設定をいじったら他のシステムだと動かなくなってしまったとか。

こう考えると「最終的には全確認では!?」とか「どうやって見ていけばいいんだ!」みたいになるかと思いますが、その辺は次回あたりで描こうと思います。

 

システムの規模が大きくなれば大きくなるほど、発生するリスクは高くなりますので、リグレッションテストは重要になってきます。

 

null (ヌル)

データが空、何もない状態を「null」といいます。

テストする人は、登録フォームなどで何も入力しない項目を作って登録をしてみたりするとバグを見つけられたりします。

開発している側は「空で来ることを想定してなかった!」みたいな思い込みがあったりするわけですね。

 

似たようなところで、割り算が発生しそうな部分に0(ゼロ)を入れてあげるのもいいです。

0で割り算が発生するとエラーになります。

(理由はネットで調べてください。0だと割る数が定まらないよね、とか、1を0.1で割ったら10、0.01で割ったら100、0.001で割ったら1000……割る数を0に限りなく近くしていくと無限大になるよね、とかいろんなことが書いてますw)

 

デグレ

デグレの説明は第102回で行っています。

testerchan.hatenadiary.com

 

 

 

103. リグレッションテスト その①

f:id:m_training:20210131172127p:plain

103. リグレッションテスト その①

次回から説明を行っていくので、今回は控えめに。

リグレッションテストは、システムの一部を修正したときに、その影響で今までちゃんと動いていたところが壊れてないよね?を確認するテストの総称です。

一部の何か特別な方法、というわけではないのです。

次回から、リグレッションテストのやり方や、範囲はどうするかなどの話を書いていこうと思っています~!

 

 

クリスマススペシャル『YWTでふりかえり』

f:id:m_training:20201223204328p:plain

f:id:m_training:20201223204352p:plain

f:id:m_training:20201223204410p:plain

クリスマススペシャル『YWTでふりかえり』

  • クリスマススペシャル『YWTでふりかえり』
    • YWTのやり方
      • やったこと
      • わかったこと
      • つぎやること
    • 作者もやってるYWT
    • AdventCalendar2020の答え

 

さて、今回のクリスマススペシャルのお話はYWTの話です。

テストの話じゃないじゃん!というツッコミがあるかと思いますが、描きたいことに走らせてもらいました!

 

***


作者はここ最近、りんちゃんと同じように毎日の仕事のふりかえりをしています。
そこで使っているふりかえり方法が「YWT」です。

マンガで描いた通り、かなりシンプルで使いやすい方法です。
自分一人だけのふりかえりでも使いやすく、日記のような経験のふりかえりにはもってこいです。
ワークショップでも、例えば最後に参加者にYWTシートを渡して、個人に学びのふりかえりをやってもらうのもよい方法です。
(つぎやること ->業務で活かすこと、なんてしてもよいかもですね)

 

YWTのやり方

やったこと

まず何より大切なのは、最初に「やったこと」を思い出すことです。
「そういえばこんなことした!」
と、自分の経験をもう一度引き出してきて反芻することが重要です。
意外と記憶の彼方にいってしまったりするのです(^-^;

りんちゃんのような日記のときや1年の個人のふりかえりをしよう!なんてときは

「あったこと」

も記載するとよいです。

やったことと起こったことの両面をふりかえることができます。

続きを読む

読者への挑戦状 #テストアドカレ

ソフトウェアテストAdventCalendar2020の21日目への道は暗号解読により開かれん……。

(特にソフトウェアテストは関係ないです!)

1週間くらいしたら、普通に公開します~!

 

***

 

 

以下が暗号文じす。

 

 

gyr@a].\qeq/rraywtxj]m,eitj\1-1-

 

 

 

f:id:m_training:20201220202130p:plain

 

 

 

 

 

 

102.テスト界隈で使われる言葉『デグレ=リグレッション』

f:id:m_training:20201206181711p:plain

102.テスト界隈で使われる言葉『デグレリグレッション

 

デグレ

IT業界に入って1か月以内に聞くであろう言葉が「デグレった!」です(ぉぃ

デグレはマンガに描いた通り、何か実装したり、修正した後に今まで動いているところが壊れたり、修正したハズのバグが復活しているときに使われる言葉です。

ほとんどの場合は「デグレ」で使われますが、略さないと「デグレード」かと思います。

名詞の形で言うと「degradation」です。

デグレーションと書いている記事も多いですが、発音を聞くとデグレデーションといった感じ。

 

リグレッション

日本だとなぜかデグレですが、海外だとリグレッションと言います。

まぁ、なんとなくデグレードの方が悪くなってる感ありますからね!(何

日本国内だと間違いなく「デグレ」の方が齟齬なく伝わります。

 

リグレッションテスト

この「どこかが壊れた」というデグレリグレッション)はとても厄介。

原因がわかると「あぁ、そういえばそこにも影響あったわ!!」となるんですけど、なかなか気づかないのですよね(汗)

それを確認する目的のテストが「リグレッションテスト」です。

何か一つやり方を指すのではなく、デグレを確認する目的のテスト全般をリグレッションテストと呼びます。

じゃあ、どんなことをすることが多いか並べておきますね。

続きを読む

101.テスト界隈で使われる言葉『デバッグ=テスト?』

f:id:m_training:20201129211824p:plain

101.テスト界隈で使われる言葉『デバッグ=テスト?』

デバッグとテスト

デバッグとテスト。

一緒でしょ?という人も多いのですが、実をいうとちょっと違います。

「テスト」はバグを見つける……もとい、システムに存在する欠陥によって起こる故障を発見することを目的としています。

デバッグ」はバグのもとをつきとめて取り除く……もとい、故障のもととなる欠陥を見つけて、その欠陥の原因をつきとめて、修正するという一連の開発の活動です。

テストとデバッグは聞いていると何となくみんな言葉を使い分けている気がします。

雰囲気で使い分けている感じですが、こういう意味なんだよーと覚えておくと良さそうです。

 

バグとエラーと欠陥と故障

 みんな、バグという言葉を使いますが、テスト系の難しい本を読むときは実はバグという言葉はほとんど出てきません。

代わりに「エラー」「欠陥」「故障」という言葉が出てきます。

この辺も覚えておくと、テスト系の難し目の本も読みやすいかもしれません。

 

続きを読む

テスターちゃん番外編『ヤツが来る!!』の巻&メイキングオブジョジョ風の絵

f:id:m_training:20201108165637p:plain

テスターちゃん番外編『ヤツが来る!!』の巻&メイキングオブジョジョ風の絵

  • テスターちゃん番外編『ヤツが来る!!』の巻&メイキングオブジョジョ風の絵
    • JaSST'20 Kyushu
    • メイキング・オブ・ジョジョ風の絵
      • 1. お風呂でネタを練る
      • 2. お風呂から上がったら考えたことを書き出す。
      • 3. メモ帳などでセリフと流れを固めていく
      • 4. 頭に浮かんでいるイメージをメモに落とす
      • 5. スタンドを考える前に、スタンドを検索しまくって特徴をつかむ
      • 6. キャラクターデザイン
      • 7. ジョジョのマンガを読んだり検索をかけまくって絵の特徴を把握する
      • 8. Clip studioでネーム
      • 9.下絵
      • 10. セリフを入れる
      • 11. ペン入れ
      • 12. 影を入れる
      • 13. セリフの吹き出しを書く
      • 14. 効果とトーンを入れる
      • 15.描き文字と位置調整
      • 16. セリフの再チェック
      • 17.煽り文やタイトルを入れて完成!!
続きを読む