テストとチェックと探索と。(Testing vs. Checking vs. Exploring)

TwitterでTestingとCheckingとExploringの話があったので、源流をたどってみました。 色々な人の意見を確認して自分にしっくりの定義を選ぶといいのではないでしょうか。

Testing と Checking

Michael Boltonさんのサイト(2009/8/29)

Testing vs. Checking
https://www.developsense.com/blog/2009/08/testing-vs-checking/

簡単な要約

・Checkingは確認である。(Checking Is Confirmation)

プログラムが失敗しないことにフォーカスを当てるものです。

・Testing は 探索と学習である (Testing Is Exploration and Learning)

「プログラムがどのように動くか、どのように動かないかについて重要なことすべてをしっかりと学習する」ことにフォーカスを当てるものです。

Memo: ここでは完全にCheckingという概念とTestingを分けていますね。

James Bachさんのサイト(2013/3/26)

※Michael Boltonさんと共著。

Testing and Checking Refined

https://www.satisfice.com/blog/archives/856

簡単な要約

  • Testingとは、質問、学習、モデリング、観察、推論などを含む経験、探索、実験を通じ、製品について学習することにより製品の評価をおこなうプロセスである。

  • Checkingとは、製品の確認にアルゴリズムをもった決定ルールを適用することにより評価をおこなうプロセスである。

  • CheckingはTestingの中の要素である。

Memo: Refinedでは完全に分かれた概念ではなく、Testの中の一部にCheckingがあるというイメージのようです。

Explore IT! (2013/2/21)

Testing と Checking と Exploringの話が載っています。

Tested = Checked + Explored

  • Testingには2つの側面があり、それがすなわちCheckingとExploringだといっています。

  • チェックと探索の両方が終わるまでテストが完了したとは言えません。

Memo: Explore It!自体が探索的テストの本なので、探索に重点を置いているのが分かりますね。

もしこれより古い記述があれば追記したいと思います♪ 連絡ください。

エクセルの t検定を使ってパフォーマンスを検証する

エクセルのt検定を使ってパフォーマンスを検証する

パフォーマンスの検証ってどうやってますか?

いままでは複数回計測して、平均値、または中央値で比較することが多かったです。
今回はもう少し厳密にやろうと思いエクセルを使ったt検定で有意かを確認してパフォーマンスの向上を確認したいと思います。

方針

t検定というのを使います。
たまたま平均がズレて速く見えただけなのか、それとも本当に効果があって速くなったのかを確認します。

パフォーマンスの計測

パフォーマンスを改善前後で複数回計測します。

f:id:nemorine:20200204162343p:plain

ここでは計測条件が同じになるようにすることが重要です。
一例ですが、DB系のパフォーマンス改善であれば以下のようなことに注意すると良いと思います。

  • キャッシュが働いていないか。
  • 計測毎に総データ量が増えすぎていないか。
  • ウィルスバスターやWinowsUpdateなど余計なソフトウェアがリソースを喰っていないか。

エクセルでの分析

  1. エクセルの[データ]-[データ分析]をクリックします。※ない場合はインストールする
  2. [t検定:等分散を仮定した2標本による検定]をクリックします。
  3. 変数1の入力範囲に改善前のデータを入力します。
  4. 変数2の入力範囲に改善後のデータを入力します。
  5. σに0.05(=5%)を入力します。
  6. 出力先を適当に調整します。
  7. [OK]をクリックします。

f:id:nemorine:20200204162229p:plain

結果の確認

パフォーマンスの場合は速くなっているはずということで「片側検定」を使います。 P(T<=t)片側の値を確認し、この値と0.05(=5%)を比較します。 ※もう一つ tの値とtの境界を比較してもできますが、自分はPが直観的なのでこちらを紹介します。

f:id:nemorine:20200204162241p:plain

今回はPの値が0.00032(0.032%)ということで、パフォーマンスが改善されていない状態という前提であれば、ほぼ起きない事象ということがわかります。(帰無仮説
ここからパフォーマンスは改善されているという結論になります。(有意である)

平均で122.5msecから110.1msecで約10%のパフォーマンス改善が認められます。

RSGT2020 Day3

最後のDay3です。

OST

朝来てイスの配置を見たときに壮観過ぎて小宇宙を感じました。

f:id:nemorine:20200118081247j:plain
小宇宙

OSTはAkiさんと一緒にスクフェス大阪/札幌やるけど何か質問ある?というお題でやりました。
スクフェス三河をやりたいという松原さんが温泉で泊まりでやりたいというイメージを持っていたので、大阪や札幌の事例を話ながら整理していきました。相談役のプロ?の川口さんとAkiさんのすごいところは行動の早さです。気づくと電話をして空きを確認しながら、仮の日程、場所などを決めました。『秋くらいに~』という日程の決め方だと脳が動かないですよね。これがアジャイルがソフトウェアを早めにリリースして顧客からフィードバックを求める理由なんだろうなと思います。
昨年大阪から始まったスクフェスブランドがかなり確立した気がします。他の地域でもスクフェス〇〇がどんどん立ち上がれば嬉しいです。まずはスクフェス札幌に集中することになると思いますが、他地域でお手伝いできることあれば貢献したいと思います。

アジャイルラジオの公開収録に参加したかったなぁというのが心残りです。(ミーハー)

高橋さんの話

最後のセッションである高橋さん(かっぱさん)の招待講演。 これも最後にふさわしい現実と理想が入り混じった凄まじい講演だと感じました。華々しいところだけではなく泥臭いことや失敗談も交えながらというのが現場感を感じることができて良かったです。 ONE OK ROCKの引用も良くて、YouTubeみたら熱いなぁと思いました。一生をかけて何かを成し遂げるってあんまりないです。いい年なんでそこらへんも考えないといけないのかなー。

個人的には「普及の原則」なんて、めちゃくちゃ凄いことサラりと言ってる!と思いました。

f:id:nemorine:20200118081328j:plain

あとはコミュニティ大事のときに、色々なコミュニティが前に出て短い紹介をしました。事前に計画されたような綺麗な流れでした。

プロダクトオーナーの話

飲み会で川口さんと話していたときに、「プロダクトオーナーは全体像を描かないといけない」と言われて、当たり前なのですがハッとしました。 スクフェス札幌も全体像をイメージして、もっとみんなに見えるようにしていかないといけないと再認識しました。透明性大事!!

奇跡的な出会い

2次会はみんなで入れる席がないということで、札幌泊まり組(かみと/ちも/ねも)で川の見えるイタリアンでこじんまりと飲んでました。パエリアが美味しかったですね。
店を出たら20:30くらい。もう一軒行きますかという話になって、光の指す方へ向かいました。そこで見つけた高架下の焼き鳥屋さん。ここ行きますかーなんて言って、3人で入りました。ドリンク注文して待っていたら見たことある外人さんが来ました。めっちゃハワードに似てるなぁと思ったら胸にScrum Allianceの文字が!!!!!もちろん本物でした。最初ちもさんは疑ってましたが(笑
その後、キロさんが階段の上から登場して、、、あとはご想像の通りギャザりました。ハワードさんとも札幌含め日本の地方の話ができたし、沖縄のいわむーさんや招待講演の高橋さんともお話できて最高に熱い時間でした。目がチカチカすると思って、ふと時計を見ると23:50で時間が完全に飛んでました。

スクラム使いはひかれ合う』ってJOJOに書いてあったのは本当だったんだと感じた奇跡的な夜になりました。

f:id:nemorine:20200118081513j:plain
ハワードさんと

RSGT2020 Day2

続きましてDay2です。

スクラムフェス札幌2020の宣伝

Akiさんがスクフェス大阪のステッカーを用意していたのを見て、札幌チームも用意すれば良かったと後悔しました。とりあえずできることを考えて夜中に簡単なチラシをカラーで作りました。 クマとサケの絵はアジャイル札幌のデザイン担当のいづいづ作のものです。絵が上手いってすごいですよね。しかもこれマウスで書いたんですって。天才かよっ!!

f:id:nemorine:20200113231016p:plain
スクフェス札幌のチラシ

貼る場所は目立たないといけないということでA3のチラシを人が通る他に掲示物がないところにしました。またA4の方はトイレの個室の中に貼りました。ここも何もない空間なので目立つし、一日一回くらいは訪れる神聖な場所ということで決めました。

結構反響があって嬉しかったです。

夜中に「はちきょう」のつっこ飯(イクラ丼)の写真を見ていたら、このイクラ達ってめちゃくちゃギャザってない?というアイディアから、いくら丼を採用してみました。 本当はイクラムフェス札幌というタイトルに変えようと思ったのですが、やりすぎ感があったのでお蔵入りしましたw

Team-Based TEAM - 会社を越えるチーム -

昨年、驚きのチーム移籍を実現した及部さんのセッション。
今回は「チームの死」について考えるというタフクエスチョンを投げかけられましたので、自分も考えてみました。 チームは複数のメンバーによって成り立っていて、そのメンバー全員がチームと認識していることがチームが生きている条件なのかなと思いました。 たとえ一人でも「このチームでは無理」となった瞬間に「そのチームはすでに死んでいる」のだと思います。ここらへん恋愛と似ているのかなと思います。
またタックマンモデルにおける4つのステージを連続的に実施できた割合が2%というのがかなりびっくりしました。
自分のチームも今ストーミングを繰り返している気がするので、全てが考えさせられる内容でした。 speakerdeck.com

RSGT2020 Day1

さて、Day1です。

スタッフの目標

『ケガなく、無理なく』 毎朝必ず言われていたこのフレーズ。言葉と実行委員の皆さんの行動が結びついているので、気持ちにゆとりができたように思います。知行合一って重要ですね。安全を必須とするまさにモダンアジャイルを体現したイベント。

ご飯の流れ

ご飯はホワイエに並べるということだったのですが、400人がこの空間にはいるのが想像ができなかったです。分からないなりに人の導線を考えて机の配置をしました。コーヒーを頼む人はここに並んで、そのあとお弁当を取るとか。その場のスタッフみんなで意見を出して決めていきます。初めてなので決めすぎないこと、実験しましょうという感じで決めたのが印象的でした。自分もうまく人が回るように養生テープで矢印を作ってみました。
さて実際に人が来たときに観察してみました。 最初のうちは見てくれる人がいて回っていましたが、人があふれるようになったときに人が多すぎて矢印が見えなくなりました。なんということでしょうwww
ただDay1こそ混みましたが、Day2以降は参加者に経験値がたまったのか、めちゃくちゃスムーズに流れました。みんな凄いっ!

f:id:nemorine:20200113211908j:plain
矢印

スクラムショーワークショップ

部屋担当になっていたスクラムショーのワークを見ていて思ったところです。
スクラム導入を説明する寸劇をスクラムで作る、というメタな感じが面白いです。 スクラムのワークは分担作業もできちゃうお題が多いと思いますが、今回のお題の寸劇は単純な分担作業ができなものでした。外から観察しているとチームで対話をしながら作り上げていく感じが良かったです。またスクラムのメリットを説明するために、それぞれが思っているスクラムの良いところを話し合うことで、色々な気づきがありそうでした。 あるチームは居酒屋での一幕を再現していて、最終的にはビールの小道具を作ったりしていました。かなりいい雰囲気をだしていていました。

f:id:nemorine:20200108142724j:plain
いい雰囲気のビール

スイーツ

途中で出たスイーツがこれまためちゃくちゃ美味しかったです。

f:id:nemorine:20200108145949j:plain
美味しかったスイーツ

RSGT2020 Day0

毎年の楽しみであるRSGT2020ですが、来るべきScrumFestSapporoの準備のために今年はスタッフとして参加しました。 札幌からは自分を含めて昨年比で倍の8名参加しているので札幌での報告会も楽しみです。
スタッフとして気づいたところや、セッションで気になったところを忘れないように書いておきます。

まずは準備のDay0です。

スクラムマスターは付箋を常に持ち歩く

14時に続々と集合する運営メンバーと当日スタッフ。準備のやることが見えないからカンバンを作りましょうと誰かがいいました。さすがスクラム愛する人々。しかしカンバンには付箋が必要です。このたくさんの荷物のどこかにはあるはず。

そのとき一人の運営メンバーが付箋なら持ってるよと差し出しました。 とりあえず集まりましょうくらいのときに付箋を持っていることにかなり衝撃を受けました。
スクラムガイドにはスクラムマスター7つ道具の一つに付箋が入ることは間違いなさそうです。
付箋の他にはマステ、ペン、養生テープ、カッターを3日間でよく使った印象です。

下の写真は大阪のAkiさんのサイドバッグ。 オシャレ美容師みたいでカッコよかったです。自分もSFSの時にはサイドバックにいろいろなものを忍ばせておこうと思います。

f:id:nemorine:20200109170223j:plain
Akiさんのサイドバッグ

会場を回る

毎年実施していた品川の会場ではないため、会場の部屋などの位置関係を把握することが一つ重要だと考えました。スタッフとしても”会場ツアー”を実施してもらい一通り回りましたが、そのあと一人でも2周くらいしました。とりあえずは部屋の位置とトイレの位置とイベントがどこで行われるかをイメージして、タイムスケジュールと合わせながら見ていく感じです。
EAST / WEST という部屋名はオシャレなんですけど建物の中だと直感的じゃないんですよね。光の間、闇の間とかの方が理解性が高まると思いますw

ギャザる

準備も一通り終えて、前夜祭会場のWizへ。 実行委員、スポンサー、スピーカーが集まって、すでに熱狂の祭りは始まってました。
国籍や人種も違う人、初めて会う人、久しぶりの人といろいろ話ながら、札幌でもこういう雰囲気がやりたいんだよなぁと考えていました。 2014年のCSM同期のちょなさん(スタッフ)と半谷さん(スピーカー)もいて、いつも同期会ができるのも楽しみになってます。
川口さんが「やっぱり一番はこの『ギャザる』感じだよね」と話していて、いつになっても本質が変わらない集まりは素敵だなぁと思いました。

f:id:nemorine:20200107192611j:plain
同期のちょなさんたちと。

チワワ用の温度計

ソフトウェアテスト技法練習帳について、ka'sさんという方がTwitterでこんな感想をくれました。
示唆に富むツイートだったので同値分割担当として考えてみました。

簡単そうなチワワ用の温度計(練習帳1.1)ですが、ka'sさんの指摘のとおり、いろいろなテストを考えると実はたくさんあるんですよね。パッと思いつくだけでも以下のようなものがあります。(分類のために品質特性を使ってます)

機能適切性
・温度によって表示メッセージが変わるか ★
機能正確性
・センサーの温度が誤差の範囲内か
・温度上昇と表示の遅延はxx秒以内か
ユーザインターフェース快美性
・見やすいか (色や文字サイズなど)
・愛されるデザインか(チワワの飼い主に受け入れられるか)
回復性
・一旦-30度〜50度になっても壊れないか
資源効率性
・電池の持ちは良いか

今回の問題は★のとこだけに着目していて、テスト全体のほんの一部ということが分かります。 練習帳の問題を解く時にこの問題以外のテストは何があるかなーとか考えると、全体と問題のテストの位置関係を俯瞰的に把握できると思います。
総合問題なんかも良いトレーニングになると思いますので挑戦してみてください。

宣伝

ソフトウェアテスト技法練習帳 本日全国書店で発売です! 楽天さんでも売ってます。 item.rakuten.co.jp