#author("2024-03-03T07:03:27+09:00","default:irrp","irrp")
#author("2024-03-08T12:56:42+09:00","default:irrp","irrp")
→テスト・品質管理

→テスト関連ドキュメント作成


#contents


*一般 [#i0c543e8]
-[[テストピラミッド万歳 | POSTD>https://postd.cc/long-live-test-pyramid/]] 2023.3

-[[テスト専門会社が出版した渾身の書、『【この1冊でよくわかる】ソフトウェアテストの教科書』の出版ストーリー:多くのエンジニアに愛される理由とは|バルテス株式会社のストーリー|PR TIMES STORY>https://prtimes.jp/story/detail/AxMXPosqOKB]] 2023.7
--[[【書籍】【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]>https://amzn.to/3XMDjSo]] 

-[[ASCII.jp:DevOps時代に欠かせない「テストの自動化」とは?>https://ascii.jp/elem/000/004/130/4130925/]] 2023.4

-[[「単体テストの考え方/使い方」を読んで、オレオレ単体テストから卒業しよう - Qiita>https://qiita.com/GeekMasahiro/items/32c3c471e54222ed2a48]] 2023.6
-[[単体テストの考え方/使い方 の感想文 | フューチャー技術ブログ>https://future-architect.github.io/articles/20230220a/]] 2023.2
--[[【書籍】単体テストの考え方/使い方>https://amzn.to/411D47c]]

-[[フロントエンドテストにおける知見の宝庫を発見!「javascript-testing-best-practices」 - Qiita>https://qiita.com/taisei-13046/items/662a289dc7328fb64836]] 2023.2

-[[フロントエンドにおける「単体テストの考え方/使い方」>https://zenn.dev/akfm/articles/frontend-unit-testing]] 2023.1

-[[なぜ我々はユニットテストが書けないのか?|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/ne17f3fab6a05]] 2022.7
--メンタルの問題、コストの問題、知識の問題

-[[テストコードにはテストの意図を込めよう #vstat - Speaker Deck>https://speakerdeck.com/nihonbuson/tesutokodonihatesutofalseyi-tu-woip-meyou]] 2022.7

-[[世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向をJenkins作者の川口氏が解説(前編)。DevOps Days Tokyo 2022 − Publickey>https://www.publickey1.jp/blog/22/itjenkinsdevops_days_tokyo_2022.html]] 2022.6

-[[現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ>https://t-wada.hatenablog.jp/entry/design-for-testability]] 2019.10

-[[プログラマとテストエンジニアにバトル勃発!正しいバグ票の書き方とは?>http://thinkit.co.jp/story/2012/07/11/3614?page=0,0]] 2012.7.11
--バグ修正をスムーズに進めるためには、バグレポートを書く時点で「バグ対我々」という構図を意識できているかどうかという点が最も重要です。意識するだけで文面が変わってきます。もちろん、バグレポートを読んで対応するプログラマにも同じ意識が必要です。返答においても「バグ対我々」という構図がなければ、すぐに問題のあるバグレポートに変わってしまいます。
--口頭では躊躇してしまうような厳しい内容を文章にして伝えるというのは、得策ではありません。バグレポートも同様です。特にバグレポートは書く人(起票する人)にとっては、電子メールよりも報告の意味が強い文書なので、口頭で指摘するよりも厳しい口調になってしまう場合が多い傾向にあります。

-[[マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」>http://www.publickey1.jp/blog/12/_jasst12_tokyo.html]] 2012.1.30

-[[負荷テストのデータ、読めてますか?>http://www.atmarkit.co.jp/fnetwork/rensai/perform02/01.html]] 2012.1.6
--パーセンタイル値とか

-[[単体テストを中心としたテストレベルの話>http://togetter.com/li/236005?f=tgtn]] 2011.1.3

-[[「品質に厳しい組織で、なぜ品質が劣化するのか?」>http://d.hatena.ne.jp/JavaBlack/20111220/p3]] 2011.12.20
--それは「品質に厳しい組織」なのではなく「品質管理部門が肥大化した組織」なのではないかと.
--「品質管理部門」とは,高い品質のものの品質確認はできるけど,どれだけ管理部門が大きくなっても品質の低いソフトウエアが高くなることはない.そして品質管理部門が肥大化して現場を軽視する組織においては,現場の人の質が低下した分だけソフトウエアの品質も低下し,品質監視部門は低品質を確認するだけの組織に成り下がる.(経験者談)

-[[テスト戦略、設計、手法、技法などなどのリンクをまとめてみた>http://d.hatena.ne.jp/kyon_mm/20110505/1304586126]] 2011.5.5

-http://www.swtest.jp/wiki/index.php

-[[世の中のソフトウェアテストは“間違いだらけ”!?>http://www.atmarkit.co.jp/im/cits/serial/bookguide/02/01.html]] 2010.7.13
--では、テストに対する“誤解”とは何か?――氏が最初に指摘するのは、「テストをすれば完璧なソフトウェアが作れるという“幻想”」である。
--大切なのは「すべてをテストすること」ではなく、「(起こり得る)リスクを理解すること」と「誰にとってのリスクか」という“ポイント”を明確化することにある。
--すなわち、「テストとは一種のサンプリング」なのだ。だが、これをマネジメント層の人間が理解していない場合、「完璧はある」という“幻想”を抱いているがゆえに、「すべてをテストしろ」とテスト技術者らに無茶な要求をし、結果的にプロジェクトの進行を遅らせてしまう。

-[[ソフトウェア開発の「パンドラの箱」を開けないために>http://monoist.atmarkit.co.jp/fembedded/articles/kumikomi/18/kumikomi18.html]] 2010.4.17
--ソフトウェアの開発では、摘出したバグを修正しない方がよい場合も少なくありません。特に、出荷日が目前に迫ったタイミングでは、そのままバグを放置した方が望ましいこともあるのです。

-[[勝ちにいく!ソフトウェアテスト>http://itpro.nikkeibp.co.jp/article/COLUMN/20070920/282540/?ST=system]] 

-[[テスト消化曲線とバグ発生曲線の7パターン診断>http://monoist.atmarkit.co.jp/fembedded/articles/kumikomi/16/kumikomi16.html]] 2010.2.18

-[[メトリクスでソフトウェア品質を見える化する>http://forza.cocolog-nifty.com/blog/2009/12/post-2b99.html]] 2009.12.15

-[[開発するのに30分、テストするのに10万年〜野戦病院モードのソフトウェア開発プロジェクト:その4〜>http://monoist.atmarkit.co.jp/fembedded/articles/kumikomi/13/kumikomi13.html]]

-[[できるテスターの七つの習慣>http://labs.unoh.net/2009/03/post_133.html]] 2009.3.28

-[[テストできるコードの書き方>http://www.hyuki.com/yukiwiki/wiki.cgi?WritingTestableCode]]

-[[数兆円かけても消せない「バグ」といかにつきあうか>http://it.nikkei.co.jp/business/news/index.aspx?n=MMIT2z000011042008]] 2008.4.14
--以前あるシステムが止まったとき、テレビでその原因を「たった一行の間違いで」と伝えていた。それは驚くべきことではなくむしろ当然で、ミスはむしろ一行どころか一文字あるいは1ビットということがよくあり、これらをすべて洗い出すには気の遠くなるような大変な労力が必要になる。
--まさかの時に備えて事業継続計画(Business Continuity Plan、BCP)を整備しておくことが必須だ。BCPとはシステムが停止したときにできるだけ被害を少なくするように、また完全ではないにしてもシステムを使わないで何とかサービスやビジネスを継続するような手順のことだ。作るだけでなく常に演習をしておくことが最も重要な対策であり、これを怠ると大変な事態を招く可能性がある。

-[[テスト設計の必勝テクニック>http://itpro.nikkeibp.co.jp/article/COLUMN/20070920/282541/?P=2&ST=system]] 2007.10.9
--なぜテストの直前にテスト設計をしてはいけないのか。TISの鈴木三紀夫氏(技術本部 基盤技術センター主査)は,「仕様変更が大きく関係する」と説明する。開発現場では通常,仕様書や設計書のミスが見つかり,仕様変更になることが多い。だが,見つかった時期によって,手戻り工数は大きく変わる。もしテスト工程でこうしたミスが見つかれば,テストどころではなくなり,大きな手戻りを招くことになる。
--鈴木氏によれば,テスト設計を実施すると「仕様書や設計書のミス」を発見しやすいという。「そもそもテスト項目を抽出できない仕様書や設計書には何らかの問題がある。テスト設計は仕様書や設計書を参照しながら進めるので,“テスト”という観点でレビューすることになる」(鈴木氏)。


-[[Web開発におけるテスト関連ドキュメントの作成・運用>http://enterprisezine.jp/article/detail/31?p=1]] 2007.7.30

-[[ソフトウェアの欠陥はなぜなくらならいか>http://labaq.com/archives/50914149.html]]


*テスト設計 [#sa1b4a03]
-[[書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO>https://dev.classmethod.jp/articles/book-software-test-techniques/]] 2024.1

-[[【CI・CD戦略編 その1】CIによる自動テスト 〜品質と速度の両立のために〜 - FJCT Tech blog>https://tech.fjct.fujitsu.com/entry/private_bridge-ci_strategy-1_test]] 2023.6
--テストサイズの考え方

-[[条件網羅の種類>http://oshiete.goo.ne.jp/qa/963125.html]]
--命令網羅:命令の実行をすべてテストで最低1回は実行する
--判定条件網羅=分岐網羅:if文判定結果がtrueの場合、falseの場合をそれぞれ網羅
--条件網羅=分岐条件網羅:if文の判定で評価する式(and/orでつながった項目)がtrue/falseの値を一回は取るようにする
--複合条件網羅:if文の判定で評価する式(and/orでつながった項目)の true/false の組み合わせを全部試す
--例)
 判定条件網羅: 判定条件の真,偽を実行
  「a=0,b=1」(真)
  「a=1,b=1」(偽)
 
 条件網羅: 各条件の可能な結果を1回はとる
  「a=0,b=1」(条件1:真、条件2:偽 → 真)
  「a=1,b=0」(条件1:偽、条件2:真 → 真)
 
 複合条件網羅: 各条件の可能な結果のすべての組合せを実行
  「a=0,b=0」(条件1:真、条件2:真 → 真)
  「a=0,b=1」(条件1:真、条件2:偽 → 真)
  「a=1,b=0」(条件1:偽、条件2:真 → 真)
  「a=1,b=1」(条件1:偽、条件2:偽 → 偽)

-[[開発工程とテスト― 単体/統合/受入/システム/回帰テスト>http://codezine.jp/article/detail/4566]] 2009.11.26

-[[複雑度と単体テストの相関関係>http://forza.cocolog-nifty.com/blog/2009/01/post-ca39.html]] 2009.1.4
--複雑度の数値は、下記の意味を持つらしい。
--10 以下であればよい構造
--30 を越える場合,構造に疑問
--50 を越える場合,テストが不可能
--75 を越える場合,いかなる変更も誤修正を生む原因を作る
--話によると、複雑度が15以上ならばコードレビューを実施する会社もあるらしい。
--ソフトウェア複雑度(McCabeのサイクロマチック数)
--≒分岐網羅(C1)のテストケース数
--≒単体テストケース数


* テスト駆動開発/TDD [#r4c59b07]
-[[【翻訳】テスト駆動開発の定義 - t-wadaのブログ>https://t-wada.hatenablog.jp/entry/canon-tdd-by-kent-beck#%E7%BF%BB%E8%A8%B3%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E3%81%AE%E5%AE%9A%E7%BE%A9]] 2024.3

-[[テスト駆動開発 - Martin Fowler's Bliki (ja)>https://bliki-ja.github.io/TestDrivenDevelopment]] 2023.12

-[[フロントエンドにおけるテスト駆動開発の実践と概説>https://zenn.dev/sum0/articles/07535a9cdd4a62]] 2023.2

-[[テスト駆動開発について僕は誤解していた>http://d.hatena.ne.jp/kura-replace/20120306/1331040054]] 2012.3.6
--「TDD のテストは自動実行できる assert の集合に過ぎない」という誤解
--「TDD のテストは設計を実コードより先に決定づけるものである」という誤解
--「テストとプログラミングをちまちま切り替えるより、それぞれ集中してやったほうが良くね?」という誤解
--「どうせテスト書いたってプログラム修正したらすぐ捨てるわけだし、やっぱりテスト書くのは時間の無駄じゃね?」という誤解
--「テストにまで可読性を求めるとか、バカじゃね?」という誤解

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS