自分の中にある想いだったり日々の工夫だったりをすこしずつ書いていこうかなぁって思ってます。2015-12-07テスト対象分析のためにモデルを描いてみる試み現場でも最近テスト設計という言葉は当たり前に使われるようになり、テスト設計を推進しているところですが・・・よく耳にするのは、「仕様書が無いとテストは考えられない」という一言。(従って仕様書がある程度完成しないとテスト設計ができない。)よっぽど未知の世界の商品でないかぎり、ある程度は考えられるでしょう???と私は思っているので、このギャップはなんだろう?と考えてみることにしました。彼等はそもそもテスト対象の分析がうまくできないのではないか?全体像をつかむ訓練ができていないのではないか?という仮説をたてました。事あるごとに、まずは全体像を絵に描いてごらん、登場物を出してごらん、という話はするのですが、なかなか描こうとしません。これは私にも当てはまるのですが、絵にすると絵をがんばって描こうとしてしまうんですよね・・・・・でもUMLとか全く勉強していないとやはりハードルは高い・・・(そもそも私もぜんぜん描けない・・・)そんな折、TEF道で開かれた勉強会の資料を拝見して「ドメインモデリング」というキーワードを得ました。・・・これなら簡単に描けるんじゃね??ネットを調べるうちに、エンティティと線だけでとりあえず描いてみるというのはどうだろう?と思いました。現場で適用するために、モデルに対して以下の要件を持っています。・ラフに、こういうモノが登場してこんな処理をするよね、を示したい。・既存のフリーツールを使いたい。communityを使ってクラス図を利用して描いてみよう!という試みが始まりました。世の中にありふれたログイン機能に対して描いてみました。当たり前にベースドキュメントは無いです。世の中にあるログイン機能とはだいたいこんな感じだよね?を示したものです。こねこねしてできた作品がコチラ(ドメインモデル・・・??)クラスを描くと難しく考えてしまうので、エンティティと線で描いてみました。矢印は流れがあるところに矢印を使っています。集約と汎化の記号は使ったほうが便利だと思ったので使っています。1:多とかいう数についてはまだ意識して書いていません。「このエンティティはこういうものを持っている」「このエンティティを具象化するとこんなものになる」程度の意味で使っています。この程度なら、あまりモデルに慣れていない人でも、インプットとなる情報から、気になるワードを出すだけ出して、関係線で結んでみることができるかな、と思いました。ログイン機能の図を職場のメンバーに見せてみたところ、そこそこ納得してもらえました。こちらの図に対してプライベートなSNSに投稿したところ、なんと久保秋さんから「ロバストネス図にしちゃったほうが良い気が・・・」というアドバイスがやってきました!ろ、ロバストネス図かぁ・・・あ、でも、描けそう。ネットで画像検索するといろんな図が掲載されていて、いろんな図を見ながら描いてみたのがコレ再び久保秋さんからアドバイス。コントローラーはシステム内に収めるのがよく、バウンダリーはシステム間のインタフェースとして扱うとよいということで、インタフェースとシステム内の処理シナリオを意識して再度描き直し!確かにそれぞれシナリオが見えるようになりました。処理がより明確になりました。おぉぉ!そして、これならUIに馴染んでいるブラックボックスなテスト担当者に、UI操作の裏でこんなことが起こっているんだよーというのを理解してもらうのに役立ちそう!あ、でも、これ、ちょっと描きすぎているかも・・・メンバーに説明するのはこれくらいで良いかもしれないけれど・・・これは臨機応変にズームイン・ズームアウトさせるのがよさそう、と感じました。させるためにまとめて、最終的にこうなった!なお、図の左下にコメントを入れている件について、この図ではエンティティにどんなものがあるかというのは描かないほうがよいと思うのですが、思いついたらまずは描いておくということを止めないようにしようと思っています。最終的に邪魔なら別の図に分ければよいかな、と。この図をもとに開発側と認識合わせを行なって、そこからテスト要件を載せていくとよさそうだな、と思っています。私はユースケース図は描いていないのですが、ドメインモデルとユースケース図を描いてからロバストネス図にいくほうがよいようですね。私は最初のモデルを描いている時点でユースケースが思いついているのだろうな、と思っています。ログインだけでなくいろんなシステムや機能のドメインモデルを描いていくつもりです。»プロフィールid:shiozi自分の中にある想いだったり日常の工夫だったりをすこしずつ書いていこうかなぁって思ってます。状態というと何を思い浮かべるのか月別アーカイブはてなブログをはじめよう!shioziさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。