InfoQ ホームページ 品質 に関するすべてのコンテンツ
-
時代に左右されないテストツールを使う意義
Benjamin Bischoff氏は、開発者にとって、新しいツールは古いツールよりずっと興味深いという。新たなテクノロジーやアプローチが学べ、仕事道具の幅が広がる機会が得られるからだそうだ。しかし、何十年も前からあるツールを使えば、時間と予算を節約できる。ツールを評価する際には、ツールにいきなり飛びつくよりも、解決すべき問題を理解することが重要である。
-
ソフトウェアチームにおけるテストの影響
テスターがソフトウェアチームに貢献する方法として、品質ギャップを伝えること、良いテストのために場を整えること、自動化コードを書くことが挙げられる。Maaret Pyhäjärvi氏によれば、私たちはテスターではなく、テスト自体について考える必要があるという。チームメンバー間のコラボレーションやコミュニケーションは、製品やユーザー体験に有益な影響をもたらす。
-
技術的負債を防ぎ、返済する方法:チームと技術リーダー、マネージャーができること
技術リーダー、プロジェクトマネージャー、管理職は、ソフトウェア開発者に多くの時間を与えることで技術的負債を防ぐことができる。さらに、チームがコードを改善できるように、余剰時間やリファクタリングスプリントを計画することができるとNedelcho Nikolov氏は主張する。技術的負債に優先順位をつけるために、開発チームは、今投資すればどれだけの時間を節約できるか、今技術的負債を返済しなければ将来ソフトウェアがどれだけ複雑になるかを示すことができる。
-
Booking.comがDORAメトリックスとマイクロ・フロントエンドを使用して配信パフォーマンスを倍増させる
Booking.comのフィンテック事業部のチームは、プラットフォームのバックエンドとフロントエンドにわたって一連の改善を実施し、DORAメトリクスで測定されるデリバリー・パフォーマンスを2倍にできた。さらに、マイクロフロントエンド(MFE)パターンを使用して、モノリシックなFEアプリケーションを複数の分解アプリに分割し、別々にデプロイできるようにした。
-
DevOpsのレンズを通してオープンソース統合をナビゲートする
オープンソースに対するDevOpsの視点を持つことは、OSSプロジェクトを環境に組み込むのに役立つ。DevOpsエンジニアは、サードパーティとの統合に抵抗がなく、異なるグループ間の壁を取り払い、チームワークを促進するというオープンソースの考え方に合致している。
-
安定性とユーザーフレンドリーを両立したUIを作るには
UI構築における重要な課題は、使いやすさと保守性、そして規模や複雑さのバランスを取ることだ。安定し、かつユーザーフレンドリーなUIを作るには、思慮深いコンポーネント設計と一般的な使用経路の理解が必要だ。自動化は、コードベースの効率と一貫性を改善する上で、画期的な変化となりうる。
-
SpotifyはいかにしてSpotify Homeための実験を大規模に実施しているか
SpotifyはSpotify Homeプラットフォームで年間250件以上のオンラインでの実験を実施しており、数十の異なるチームがそれを活用している。このような規模で実験を行うために、Spotifyは様々なツールを使用していると、SpotifyのプロダクトマネージャーであるNik Goyle氏は説明する。
-
ソフトウェア品質の評価方法
QPAM(Quality Practices Assessment Model)を用いて、チームの発揮する行動を「開始」「統合」「実践」「革新」といったを4つの次元に分類できる。QPAMはフィードバックループ、文化、コード品質と技術的負債、デプロイメントパイプラインといった社会的・技術的な品質側面を調査するのだ。
-
システムの品質を向上させるためにデータをどう活用するか
システムがどのように利用されているのかを知るためには、メトリクスを収集することで時系列に傾向を把握できる。得られたデータとインサイトは、ソフトウェア設計やテストパターンを改善することでシステムの品質向上に寄与するのである。Craig Risi氏は、Agile Testing Days2022で、システム品質向上のためのデータ活用について講演した。
-
すべての質問には答えがある - 開発者にとって不可能とは
すべての質問には答がある、と我々は思いがちだ。しかしながら、現��時刻を知りたい時のように、必ずしもそれは真実ではない。開発者は、想定外の障害モードに対する認識を高め、障害の可能性を広く告知し、戻ることのない返答待ちからの復帰にタイムアウトを用いる必要がある。
-
ゲーミフィケーションによるソフトウェア品質の向上
バグハンティングやリスクストーミングゲームをプレイするBingo Bongoセッションにより、品質を向上させることができる。ゲーミフィケーションは学習を支援し、日常業務を面白くし、チームスピリットを強化することができる。ゲームをプレイすることはオフィスでの日常業務の一部であり、効果的な作業時間と見られるべきである。ゲーミフィケーションでは、創造的なプロセスによって真の価値が生み出される。
-
ディフェクト・マスの測定が重要な製品領域のテストにどのように役立つか
「ディフェクト・マス」と呼ばれる測定を導入することで、プロジェクトは開発によって最も影響を受けた領域を見つけることができ、影響を受けた領域ごとに実行するテストの数を決定するのに役に立った。この測定値を他のKPIと一緒に使用することで、テストに集中する役に立った。顧客のインシデントの数を減らすことができた。
-
実車を使用したリモートソフトウェアの実証と妥当性確認の実装
Bosch は、シミュレートされた車ではなく、実際の車を使って自動回帰テストとユーザテストを行っている。目的は、テストエンジニアとユーザの両方の観点で、ソフトウェアを可能な限り迅速にテストすることだ。車にはリモートでアクセスが可能で、チームメンバは乗車せずに行うことができる。
-
ブロックチェーンシステムにおける品質の作り込み
ブロックチェーン技術は、優れたソフトウェア品質を自然に提供可能なソリューションの構築に使用することができる。ブロックチェーンを使うことで、コントラクトにすべてを格納する、コンパクトなシステムへの移行が可能になるのだ。ただしそれには、データのニーズについて理解し、チェーン内に格納するものとしないものを判断した上で、要件、障害、テストといった履歴をコントラクトモデル内に構築する方法を検討する必要がある。
-
コードを読む上での課題とその対処方法
コードの読むことは、多くの点で混乱を招く可能性がある。コードの読み方は明確に教えられておらず、コードの読み方を練習することはめったにない。ある役割を果たす認知プロセスを認識することは、コードをより適切に読むのに役立つ。