Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20240927競プロとともにあるく_ソフトウェアテストの地図.pdf
Search
Miyuki Kondo/Abe
September 25, 2024
Technology
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20240927競プロとともにあるく_ソフトウェアテストの地図.pdf
Miyuki Kondo/Abe
September 25, 2024
More Decks by Miyuki Kondo/Abe
See All by Miyuki Kondo/Abe
サマーウォーズ〜夏休みの余裕を求めるハハと息子の戦い〜
prettyhappycatty
0
340
並列化と自動化のあいだ ~ 4人子育て中のタスク管理のはなし ~
prettyhappycatty
1
580
JaSST nano vol.4 あべみ「競プロのテスターに憧れるの」
prettyhappycatty
0
290
Other Decks in Technology
See All in Technology
今こそ知りたいAmplifyGen2
mkdev10
2
160
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
140
Deep Data Security 機能解説
oracle4engineer
PRO
2
740
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
パッチ更新でterraform initが落ちた日
grimoh
1
100
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
300
購入ドメインでの課題と取り組み
ykagano
0
150
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.1k
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
180
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
6
2.2k
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
540
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
2
710
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
First, design no harm
axbom
PRO
2
1.3k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
GitHub's CSS Performance
jonrohan
1033
470k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
Paper Plane
katiecoart
PRO
4
54k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Transcript
競プロとともに歩く ソフトウェアテストの地図 2024.9.27 【estie × MagicPod】 競技プログラマーとソフトウェアテスト あべみ
Who am I? • 名前 - あべみ • 職歴・経歴 -
情報系出身 - 新卒でメーカーのSE - 保険関係の会社でSE - 今年、MagicPod入社 • 条件分岐の機能 2024.6 Released! • ループの機能 1. 自己紹介 - JUnit、Selenium、Ranorex - 自動テストの星取表?自動テストの件数? • 「自動化の難易度、ケースの重要性、それぞれ違うよね」 • 「実施しても意味のないテストで件数稼ぐってどうなの」 • 「メンテつらい減らしたい」 - 自動テストおもしろい、結果を統計的に分析してみたい - 機械学習面白い、Python勉強したい、機械学習の数学難しい - 競プロ 自動テスト との 出会い テスト設計 との 出会い 競プロ との 出会い
本日のお題 •競プロの流れを追いながら以下の2点を伝えたい。 - テストって身近! - もっと詳しく知りたいときに、何をすればいいか? 2. 本編
2. 本編 JSTQB…日本におけるソフトウェアテスト技術者資格認定の運営組織で、世界各国のテスト技術者認定組織が参加し ているISTQB(International Software Testing Qualifications Board)の加盟組織の一つ
コンテスト参加してますか? • 考察 - アルゴリズム • 考えた通りに実装 できているか? • 制限時間内に実行が
終わるか? • サンプルが通るか? • 細かい確認 - 提出言語は正しいか? - 同じコードを提出してないか? - modとり忘れてないか? - setrecursionlimit… ・ジャッジは通ったか? 2. 本編 問題を読む プログラミ ング 確認 提出 機能テスト テスト対象が 「何」をすべきかをテスト 非機能テスト 機能特性以外の属性、システムが「どのよ うにうまく振る舞うか」をテスト システムテスト システムやプロダクト全体の振る舞いや能 力の全般に焦点を当てるテスト 動的テスト ソフトウェアの実行を伴うテスト 静的テスト ソフトウェアの実行を伴わないテスト 受入テスト 妥当性確認と、システムがユーザーのビ ジネスニーズを満たしていることのテスト
[テストレベル] 対象や責務等で 重なりがないよう分 割 [テストタイプ] 特定の品質特性 に対応する [静的/動的] プログラムを実行し ない/実行する
2. 本編
コーナーケース踏んだことありますか? • デバッグ - ブランチを見ながらソースコードを追う - コーナーケースを考える • ランダムテスト -
うまくいかないケースを探す 2. 本編 コーナー ケース を踏む 原因調査 確認 提出 Service UI Unit Unit Service UI 境界値分析 順序付けられた同値パーティションの境界 上に存在する値を適切に 処理しているこ とをテストするために使用する 同値分割 同じように処理さ れる必要のある値のセッ トとして作成される同値パーティションから 代表値を選択 データ駆動テスト テストスクリプトの実行に必要なテスト データおよび期待結果を含んだデータファ イルを使う テストピラミッド 自動テストのケース数の望ましい比率を 表現したモデル。 満たせてない状態を、アイスクリームコー ンに例えることもある 手動テスト
[テスト技法] ”バグを見つけやす い”テストケースを作 成するための技法 2. 本編
AHCに参加したことはありますか? 2. 本編 問題を読む プログラミ ング 確認 提出 • 考察
- アルゴリズム • 考えた通りに実装 できているか? • 制限時間内に実行が 終わるか? • 環境構築 • 公式提供ツールによるローカルテスト - ビジュアライザー - 入力データジェネレータ - スコア計算ツール • ジャッジは通ったか? • スコアは? SUT(System Under Test) テスト対象システム gTAA (Generic Test Automation Architecture) テスト自動化ソリューションの 全体概要を提供する。以下の水平構造 を持つ。 ・テスト生成レイヤー ・テスト定義レイヤー ・テスト実行レイヤー ・テスト適合レイヤー TAS (Test Automation System) テスト自動化ソリューションを具現化した もの テスト生成レイヤー テストケースの手動または自動での設計 をサポートし、テストケースを設計する手 段を提供する。 テスト適合レイヤー SUTのさまざまなコンポーネントやイン ターフェースを自動テストに適合させるた めに必要なコードを提供する。 テスト実行レイヤー 選択されたテストを自動的に実行するテ スト実行ツールと、記録およびレポート用 のコンポーネントを提供する。 テスト定義レイヤー テストスイートおよびテストケースの定義 と実装をサポートし、 SUTやテストシステ ムの技術およびツールからテスト定義を 分離する
2. 本編
ソフトウェアテストの概要を競プロの手順とともに旅をしました。 3. まとめ JSTQB…日本におけるソフトウェアテスト技術者資格認定の運営組織で、世界各国のテスト技術者認定組織が参加し ているISTQB(International Software Testing Qualifications Board)の加盟組織の一つ
もっと知りたい方は、シラバスとともに、本も読んでみてください 3. まとめ
MagicPod自体の自動テストの一部紹介 4. さいごに 「AI自動テストツールを支える開発・テストプ ロセス」伊藤望 より抜粋 https://speakerdeck.com/nozomiito/ aizi-dong-tesutoturuwozhi-erukai-fa -tesutopurosesu • E2Eテスト
- MagicPodを使って MagicPodをテスト - いろんな環境で実行 • CI - プルリクエストを 起点にUnitTestや 静的テストを自動実行 エンジニア募集中!
ご清聴ありがとうございました
参考リンク1 • ツール類 - AtCoder Easy Test v2 • サンプルケースを使ってボタンひとつでテストを実行!
• 「Test & Submit」ボタン • https://greasyfork.org/ja/scripts/433152-atcoder-easy-test-v2 - ランダムテスト作成プログラム(Python) • https://harurunppp.hatenablog.com/entry/2021/12/24/000000 - Mod noticer • 問題文に「mod」や「あまり」が含まれるとき、提出ボタンに注意喚起の文言を追加する。 • https://greasyfork.org/ja/scripts/429808-mod-noticer - Time Limit Enphasizer • AtCoderで問題の実行時間制限が 2 secでない場合にちょっと主張を激しくする。 • https://greasyfork.org/ja/scripts/406381-time-limit-emphasizer - AtCoder Duplicate Checker • 重複提出をチェックします。 • https://greasyfork.org/ja/scripts/454704-atcoder-duplicate-checker - 公式のテストケース - Atcoder cli • http://tatamo.81.la/blog/2018/12/07/atcoder-cli/ - AHCのローカルテスト環境構築 • https://zenn.dev/ikoma_3/articles/5c04ab03935f71
参考リンク2 • うさぎ小屋「競技プログラミングにおける様々なテスト」 - hhttps://kmyk.github.io/blog/blog/2020/11/12/various-tests-in-competitive-programming/#%E3%82%B9%E3%83%88%E3%83%A C%E3%82%B9%E3%83%86%E3%82%B9%E3%83%88-stress-testing • Atcoder cli -
http://tatamo.81.la/blog/2018/12/07/atcoder-cli/ • ランダムテストに関する直大さんの tweet - https://x.com/chokudai/status/1164089286615916544 • 競技プログラミングにおける作問テクニックを総整理! 〜初心者から経験者まで〜 - e8さんの作問解説の「 4. テストケース作成」の章 - https://qiita.com/e869120/items/45a0132263094b83fc44#4-%E3%83%86%E3%82%B9%E3%83%88%E3%82%B1%E3%83%BC %E3%82%B9%E4%BD%9C%E6%88%90 • AI自動テストツールを支える開発・テストプロセス - https://speakerdeck.com/nozomiito/aizi-dong-tesutoturuwozhi-erukai-fa-tesutopurosesu • 競技プログラミングのテストケースから読み解く ALTAのテスト技法 - https://qiita.com/meowmeowcats/items/d36d6a3e0c1cba11339e • JaSST nano vol.4 あべみ「競プロのテスターに憧れるの」 - 資料;https://speakerdeck.com/prettyhappycatty/jasst-nano-vol-dot-4-abemi-jing-purofalsetesutanichong-rerufalse?slide=6 - 動画:https://www.youtube.com/watch?v=CZYCHoTkapU
参考リンク3 • JSTQB(https://jstqb.jp/ )シラバス - FL(Foundation Level) • https://jstqb.jp/dl/JSTQB-SyllabusFoundation_VersionV40.J02.pdf -
TA(Test Analyst) • https://jstqb.jp/dl/jstqb.jpdlJSTQB-SyllabusALTA_V311.J03.pdf - TAE(Test Automation Engineer) • https://jstqb.jp/dl/JSTQB-Syllabus.Advanced_TAE_Version2016.J01.pdf • 本 - 「ソフトウェアテスト教科書 JSTQB Foundation 第5版 シラバス2023対応」 • https://www.amazon.co.jp/dp/4798186066/ - 「ソフトウェアテスト技法練習帳 ~知識を経験に変える40問~」 • https://www.amazon.co.jp/dp/429711061X/ - 「ソフトウェアテスト技法ドリル【第2版】: テスト設計の考え方と実際」 • https://www.amazon.co.jp/dp/4817197668/ - 「システムテスト自動化 標準ガイド」 • https://www.amazon.co.jp/dp/B00R48BEEW/ - 「テスト自動化実践ガイド 継続的にWebアプリケーションを改善するための知識と技法」 • https://www.amazon.co.jp/dp/B0D5XLN9LX/