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
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
Search
リリカル
October 20, 2026
Technology
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
JaSST nano vol.56(
https://jasst-nano.connpass.com/event/406998/)で発表したSoutherの紹介資料です
。
リリカル
October 20, 2026
More Decks by リリカル
See All by リリカル
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
230
三視点LLMによる複数観点レビュー
mhlyc
0
540
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
520
Foundation Level シラバス1章まとめ
mhlyc
0
160
SQuBOK_Chap3
mhlyc
0
130
Other Decks in Technology
See All in Technology
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
450
USB PDを使ってスマホを労わりたい
raspython3
0
180
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
300
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
300
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
840
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
React改造してみた
tsukina_7mochi
0
120
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
370
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
How GitHub (no longer) Works
holman
316
150k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
For a Future-Friendly Web
brad_frost
184
10k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Paper Plane
katiecoart
PRO
5
54k
Prompt Engineering for Job Search
mfonobong
0
520
The Language of Interfaces
destraynor
162
27k
Transcript
QAエンジニアが Southerを触ってみたの 10分でわかるSouther リリカル
Southerとは? JVM 上で動く、Java と組み合わせて使えるプログラミング言語 小さな言語 Java から使える 作者: kawasima さん
業務のデータと、業務上の振る舞い 書いたモデルから Java の型が生成 OSS として GitHub で公開 を書くことに特化 され、既存の Java と一緒に動く (souther-lang/souther) では、なぜ QA やテスターのいるところで プログラミング言語の話をするのか? JaSST nano · 2 / 8
Southerが問題にしていること 一般的なテスト設計の流れ 仕様書などのテストベース 作者 kawasima さんの問題提起(※ 私の理解です) 本来、設計者が行うべきモデリングを、QA や テスターに代行してもらっているのではないか
テスト分析 テスト設計モデルを作る 状態遷移表 ・ デシジョンテーブル ・ その他 • 状態遷移表やデシジョンテーブルは、仕様を整理したモデル • それを後工程の QA が作って初めて「未定義の遷移」や「抜けて いる条件」が見つかる、という状態は、設計の段階でモデルが ↑ここは、業務の「モデリング」そのもの 無かったということでは? → 後から QA がモデルを作るのではなく、開発側が最初から きちんとモデルを作るところから始めるべきではないか テストケース ※ kawasima さんの発言を私の理解で要約したものであり、原文の引用ではありません • これが Souther の出発点 JaSST nano · 3 / 8
Souther の基本的な考え方 よくある順番 Souther の順番 仕様書を書く モデルを作る 業務のデータ・条件・振る舞いを言語で書く compile 実装する
書き方の矛盾は、ここで止まる 問題があれば モデルを直す example で検証する 具体例で、モデルの答えを確かめる 後からテストする そのモデルをもとに実装する 問題は、実装した後に見つかる ここまで、実装前 まずモデルを作り、そのモデルが正しいかを検証してから実装する JaSST nano · 4 / 8
モデルが正しいかどうかをどう確認するのか モデル全体に対して 具体例に対して 「このモデル全体は正しいですか?」 「10 万円なら承認される?」 「10 万 1 円なら却下される?」
→ 判断が難しい → 判断しやすい 業務の人に聞いても、設計者に聞いても、 入力と期待結果の組なら、業務の人も即答できる。 「たぶん合ってる」以上の答えは出にくい テスターが普段やっている確認と同じ Souther では、この具体例を example としてモデルに添えて、モデルを検証する 期待と違う答えが出る場合、コンパイルが通らない ※ 実例マッピング(Example Mapping)に少し近い感覚かなと思います。同じものではありませんが JaSST nano · 5 / 8
Southerを使ったシフトレフト 一般的なイメージ Souther モデル 実装 compile / example テスト 問題発見
コンパイルエラーは、実行より前の検証 • コードを書いたとき、型の誤りが コンパイル時に見つかる • 検証が実行より前にある Souther は、その検証対象を業務モデル まで前に持ってくる • 型の誤りだけでなく「10 万 1 円は 却下」のような業務上の答えまで、 コンパイル時に確かめることができる 問題発見 実装 問題発見は、実装の後 問題発見は、実装の前 モデルを作り、モデルを検証し、問題があれば実装前にモデルを直す JaSST nano · 6 / 8
テスト設計もモデルから導ける Model に書いてあることを読む • 型の場合分け、guard の比較、invariant の境界を読む • 何も書いていない位置(条件のない Int
など)は分割せずに「導出できない」と報告する 同値クラス・境界・分岐に分解する 「10 万円以下なら受理」→ 10 万円 / 10 万 1 円と、内側・外側の代表値の計 4 つを確認対象にする examples が足りない場所を報告する 「上限を超えた側のexampleがない」「却下になるパターンがない」のように、どの観点が未確認かを一覧 にする QA の目で見ると やっていることは、境界値分析(ON / OFF / IN / OUT )・同値分割・分岐網羅・2 クラスの組合せ • QAやテスターが仕様書から手で起こしている 観点を、モデルから機械的に出している (Southerがテスト設計技法を内蔵している) 「全部が Souther で完結する」わけではない • 導けるのは、モデルに書いてある範囲だけ • 書いていない位置は「導出できない」と返す • 業務知識、非機能、画面や連携の観点は、 今まで通り人が設計する example が足りない場所は雛形だけ作る • 入力値だけが入った行を出し、期待結果は空欄のまま。 期待結果は人間が埋める • Southerで答えを創作しない テスト設計漏れや実装誤りを後工程で人が補うのではなく、そもそもモデルをきちんと作る Source: souther-lang/souther の souther-compiler(partition/*, Adequacy, GeneratedRows)と souther-cli の実装を読んで要約(2026-10-20) JaSST nano · 7 / 8
QAとして実際に使ってみた 3 通りの使い方を試してみた △ テスト設計 あまり差がなかった 人が設計するのと Souther を使うので、そこまで大きな差は感じなかった △
コードレビュー 微妙だった Souther ならではの追加発見は、あまりなかった ◎ 設計レビュー 一番良かった 設計を Souther でモデル化しようとすると、曖昧さや未定義が表面化した。 「仕様書から状態遷移表を書いてみたら未定義の遷移が見つかる」のと同じ効果 結論: 誰に使ってほしいか 第一候補 開発エンジニアに使ってほしい 最初から Souther でモデルを作り、実装前に検証できるから ぜひ使ってみてください ※ 私が実際に試した範囲での所感です 第二候補 QA・テスターが設計レビューで使う 設計をモデルに落とすことで、曖昧さや不整合を見つけやすい 興味があれば “Souther” で検索 GitHub: souther-lang/souther JaSST nano · 8 / 8