タグ

ブックマーク / goyoki.hatenablog.com (4)

  • リファクタリングすべきか・してよいかの判断基準 - 千里霧中

    リファクタリングは、設計やコードを綺麗に保つという普遍的に求められる活動の一要素です。常識的な習慣として推進すべき活動です。 ただ、有効性の理解を得られないままリファクタリングを行って物議を醸す場面も存在します(例えばここのはてなブックマーク等で巻き起こった議論などです)。 実際、リファクタリングは、以降の保守作業をサポートしてこそ価値がでるものであり、考えなしにいつでも一律実施すればよいというものではありません。リファクタリングの対象やチームの状況によって、リファクタリングをすべきかどうか、線引きがされます。 このリファクタリングをすべきかどうかの基準ですが、一言でまとめると「妥当な保守性の実現を、妥当な費用対効果で実現できるか」になります。今回はこの基準を構成する「妥当な保守性の実現」と「妥当な費用対効果」について、それぞれ解説します。 リファクタリングで妥当な保守性を実現できるかの基

    リファクタリングすべきか・してよいかの判断基準 - 千里霧中
  • 現代的なユニットテストでのコードカバレッジ(テストカバレッジ)の扱い方 - 千里霧中

    ユニットテストのコードカバレッジ(テストカバレッジ。ステートメントカバレッジやC0、C1など)は、不適切な運用が根強く見られます。多いのが、コードカバレッジの確保だけをテストの十分性目標にして、まずいテストを書いてしまうパターンです。 今回はこのコードカバレッジについて、現代的な開発を支えるための適切な運用について解説します。 コードカバレッジのみを直接のテストの十分性の目標にしてはいけない 結論から言うと、まずユニットテストは以下を目標として作成します。 ふるまいの仕様が実現されているか確認する プログラマが感じる品質リスク(いわゆる不吉な臭い等)が許容できる水準であることを確認する 法規制対応など、外部からのテスト要求に対応する コードカバレッジは、上記目標を達成することで副次的に確保されることを目指します。 注意点として、コードカバレッジの確保のみを直接の目標にすると弊害が大きくなり

    現代的なユニットテストでのコードカバレッジ(テストカバレッジ)の扱い方 - 千里霧中
  • 品質保証部門の陳腐化。そして陳腐化した品質保証は品質を悪化させる - 千里霧中

    ※品質保証のエンジニアである筆者が自省・戒めのために書いた記事になります 品質管理(Quality Control)、品質マネジメントは国内では製造業を中心に発展し、プロダクトの競争力向上に貢献してきました。 JTCと呼ばれる旧来からのメーカーでは、その実績・年功の蓄積に応じて、独立性を保った品質管理・品質保証部門が権威を獲得し、今でもソフトウェア開発に強い影響力を保持するようになっています。筆者は複数のメーカーを転職コンサルで巡って来ましたが、例えば品質保証部門が承認しないとマイルストーンで開発がブロックされる、プロダクトがリリースできないといった権限を持つ体制が、今なお普遍的に見受けられます。 この品質保証部門が権力を持ち、品質ゲートの門番として振る舞う体制は、今であっても、ある面で恩恵を提供しています。例えば次のようなものです: 法規制対応、標準化対応、その他公的なガバナンス要求へ

    品質保証部門の陳腐化。そして陳腐化した品質保証は品質を悪化させる - 千里霧中
  • 品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中

    近年のソフトウェア業界では、テスト関連活動を担うエンジニアを「QAエンジニア」と呼ぶようになっています。ただQA(品質保証)という言葉は、旧来から二つの定義が共存しているほか、業界内の通例で更に別の意味付けが行われた結果、定義が曖昧になり誤解を生みがちな状態となっています。 そこで今回は、日語圏で、QA(品質保証)の言葉がどのように定義されているか、整理して解説します(結論からいうと三流派あります) 国際標準規格での定義:品質マネジメントシステムの実証 IEEEやISOといった国際的な標準規格、およびそれに準拠した知識体系や標準では、古くから体系立てて品質マネジメント、品質保証、品質管理の定義を行っています。 有力な文献として、品質マネジメントの標準規格である、ISO 9000:2015の定義を紹介します。 まずISO 9000では、品質保証の前提として品質マネジメントという用語を使って

    品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中
  • 1