検索キーワード: 「プログラマー初心者向け」


【ソフトウェアテスト】CFD法

CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。

テスト(運用・保守・サポート)

【ソフトウェアテスト】不具合報告のインシデントレポートについて

開発プロジェクトで発生した問題はインシデントとして、管理・分析・対応が必要です。プロジェクト全体を通しての問題となるとかなり範囲は広く、人的トラブルやステークホルダー間での問題など、開発しているプロダクト以外の問題も含んでしまうので、本記事では主にプロダクトのテストに関して検出された動作の不具合(バグ)に焦点を絞って記載します。プロダクトのテストに際して検出した不具合は、報告・対応したあとは蓄積データとして、引き続きプロジェクトで参照・活用されます。実際の開発現場によっては、早期レビューでのやりとりに関するものや、開発とテスターが口頭で連携できるような状況で報告即時対応できる程度の不具合対応など、状況により必ずしも定められたドキュメントの形式で報告されるものとは限りませんが、可能な限り検出対応した不具合は履歴を残しておくことで、プロダクトの品質向上を目指すことができます。ほとんどの場合は不具合管理に別途外部のbug tracking system(BTS)を使用しています。BTSはインシデントレポート1件をチケットという1単位で扱います。チケットの形式や内容が必ずしも同一の形式に沿っているというものではありませんが、不具合の報告管理をするチケットの内容は、管理運用の観点から記載が必要となる項目はある程度決まっています。余談ですが、BTSは不具合報告のみならず、チケット駆動開発 (TiDD) を実施するプロジェクトでは開発作業自体の管理進行目的で使用される場合もあります。

テスト(運用・保守・サポート)

テスト工程について

初心に帰ってテスト工程について復習していきたいと思います。

初心者

テスト技法と種類

テスト技法とは、ソフトウェアテストのテストケースを作成するための技法です。同値分割法、境界値分析、デシジョンテーブルテストなど、さまざまなテスト技法が存在します。テスト技法を利用することで、テストケースの抜け漏れを防いだり、効率よくテストケースを作成することができます。

初心者

【初心者向け】デシジョンテーブルについて

本記事ではテスト技法の一つの「デシジョンテーブル」について解説していきます。

初心者

Springを使ったAPIの実装方法

そもそもAPIとは、簡単に言うと他社が作った機能を自社のサービスに簡単に取り入れることができます。 例として、自分が住んでいる地域の天気予報が知りたいときにAPIを利用すると、住んでいる地域の情報を引数として相手に教えてあげると結果として自分の住んでいる地域の天気予報データが取得できたりします。 他にも、運送業者などが荷物発送のタイミングでメッセージアプリのAPIを利用すると荷物の発送通知などが利用者に簡単に伝えることができます。 APIを利用すると自社システムの開発の工数を減らすことができ、API利用可能なサービスはAPIを利用することでスムーズに自社のシステムに取り入れることができます。 ただメリットばかりではなくデメリットもあります。 APIの仕様変更やサービスの停止でシステムがうまく動作しなくなったり、APIを運用しているサーバーで不具合があったときはAPIは利用できず APIを過剰に利用せず自社システムである程度対処できるようにしておくことも大事です。

製造・コーディング(PG/バックエンド)

自宅のWindowsでRuby on Rails ~ Gemを理解する

前回の自宅のwindowsでRuby on Rails(基礎編)では、最も基本的なRailsのWebアプリケーションを作成しました。Railsが非常にスピーディーに、かつ簡潔に開発できるということが分かったのですが、Gemを理解すればもっと複雑なことを簡単に実行できると思います。ということで今回は、新たに新しい機能を実装しつつ、RubyのGemについて学習して行こうと思います。

製造・コーディング(PG/バックエンド)

自宅のWindowsでRuby on Rails ~ビューデザインの基本

「自宅のWindowsでRuby on Rails ~ Gemを理解する」では、Railsを使って簡単なWebアプリケーションを作成しました。しかし、見た目がかなり殺風景です。今回は、Railsにおけるビューデザインについて学んでいこうと思います。

製造・コーディング(PG/フロントエンド)

【CSS】基本のまとめ | セレクター編

今回は、Webページの見た目を設定するCSSのセレクターについてまとめました。CSSは、Web開発をするにあたって欠かせない知識となっています。ぜひ最後までお読みください!

製造・コーディング(PG/フロントエンド)

【初心者用】AWS基礎②

前回は、AWSで知っておくべき用語やよく使われるサービスがどんなのがあるのか学んできました。今回は、AWSの初学者として、どんな内容を理解しておけばいいのか、AWSの入門編としてクラウドプラクティショナーという資格があるように、その内容についても触れながら学んでいきましょう。AWS資格は、AWSに関する専門知識やスキルを証明する資格で、試験対策を通してAWSを効率よく学ぶことができます。

その他(インフラ)

【初心者向け】Packet Tracerでネットワークを学ぶ(ルーティング③)

Packet Tracerでネットワークを学びます

詳細設計(内部設計)(インフラ)

【データベース】基本のまとめ | 初心者向け

今回は、システム開発をおこなううえで重要な「データベース」についてまとめました。初心者向けの簡単な内容となっていますので、ぜひ最後までお読みください!

製造・コーディング(PG/バックエンド)

関連タグ

カテゴリ別人気記事

もっと見る
テレワーク関連人気記事

週間人気記事

もっと見る