okitan: API仕様の活用: JSON Schema (コード生成、templating)、OpenAPI specification (swagger-codegen、API Dashboard生成) #te_meetup
2017-03-07 19:14:58okitan: JSON Schemaからのコード生成は自前で実装している。stubサーバ、dashboard、テストコード生成(前提条件を作るなど)、負荷試験スクリプト生成(Gatling) #te_meetup
2017-03-07 19:16:16okitan: テスト生成: 浅いテスト対象分析程度のテスト生成はだいたいできている: 最小限のパラメータセット、+個別パラメータ、最大限、境界値、権限不足、競合テスト、簡単なシナリオテストなど #te_meetup
2017-03-07 19:17:28okitan: テスト生成の課題: ドメイン限定の拡張や前提を置いてしまった(ツールを公開しにくい理由でもある)、リソースの依存関係の記述など → OpenAPI specification v3のCallback Objectの活用を検討中 #te_meetup
2017-03-07 19:18:58okitan: 課題: API自動テストのデータ駆動化(いまはRSpecのコードを生成)。テストフレームワークや実装言語に依存しない形式にしたい #te_meetup
2017-03-07 19:20:08okitan: API specificationの形式的な記述 → 意図通り書けているかテスト/静的解析 → テスト自動生成 #te_meetup
2017-03-07 19:21:25会場から: テストの生成時に事前条件を作るためのテストコードを生成するのか、事前条件はDBに直に書いておくのか → okitan: 事前条件を作るためのテストコードを生成 #te_meetup
2017-03-07 19:23:04shimashima35: 社内で開発したWebDriver(Selenide セレニド)を使ったE2Eテスト #te_meetup
2017-03-07 19:24:58shimashima35: Selenide: Javaで作ったSelenium WebDriverのラッパーライブラリ。読みやすいAPI、IDEによるサポートを意識 #te_meetup
2017-03-07 19:25:51shimashima35: 階層化したPage Object Pattern: 抽象クラスBasePageと具象クラスPage(Selenideを知らなくても使える) #te_meetup
2017-03-07 19:28:32shimashima35: 全面的な日本語メソッド化: 税務・会計・給与を対象としている(訳語の問題を回避)、非エンジニアでも扱える #te_meetup
2017-03-07 19:29:58shimashima35: 疑似Builder Patternによるデータ登録: ユーザ登録などでのシナリオ記述が大変 #te_meetup
2017-03-07 19:30:48shimashima35: Mix-inによる画面共通項目の一元化: 複数の画面にまたがる共通要素(メニューなど)を親クラスにしたくない → Java8のdefault methodでmix-in #te_meetup
2017-03-07 19:32:00shimashima35: PageBase implements Menu, Popup, FunctionKey などと書く #te_meetup
2017-03-07 19:32:47