タグ

ブックマーク / swet.dena.com (8)

  • t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog

    こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの

    t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog
  • 大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog

    こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに Gitリポジトリをクローンすると、ローカルフォルダにはそのリポジトリの全体がダウンロードされ .git というフォルダに格納されます。ブランチをチェックアウトすると、ブランチ内のファイルがワーキングツリーとして展開されます。この様子を図にするとこのようになります。 この .git とワーキングツリーの使うディスク容量を節約しようというのが今回のお話です。特にJenkinsにおいて、大きめのGitリポジトリをクローンしてくる場合に課題があり、いろいろ工夫してみたので、その結果を紹介します。同じCI/CDチームの加瀬による記事「大規模リポジトリで高速にgit cloneするテクニック」と内容

    大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog
    clavier
    clavier 2021/07/13
  • 仕様記述テクニック「Promotion」の紹介 - DeNA Testing Blog

    こんにちは、SWETの鈴木穂高(@hoddy3190)です。 私はこちらの記事に記載の通り、形式手法の可能性を模索しています。 現在はツールやゲームの仕様を形式的に記述すること(形式仕様記述)で、仕様の欠陥をなるべく早く見つける取り組みにチャレンジしています。 今回は仕様記述をするにあたりよく使う重要な記述テクニックである「Promotion」を紹介します。 形式仕様記述とAlloyというツールを知っている人を対象にしています。 もし形式仕様記述やAlloyをご存じない方は、以前私がbuilderscon tokyo 2019で発表したときに使った資料をご覧ください。 Promotionとは 一般にソフトウェアシステムは複数のコンポーネントから構成されます。 システム全体としての状態(以下、システム状態)は各コンポーネントの状態の組み合わせからなります。 たとえどんなに奥深くのどんなに小さ

    仕様記述テクニック「Promotion」の紹介 - DeNA Testing Blog
  • reviewdogによるGoのコードレビュー - DeNA Testing Blog

    こんにちは。ゲーム・エンターテインメント事業部の鈴木です。 AndAppの開発をしています。 今回は私たちのチームで使っているreviewdogについて、CIの設定やlinterの組み合わせなど、どのようにしてコードレビューに活用しているか紹介します。 reviewdogとは 一言でいうとコードレビューを補助してくれるコマンドラインツールです。 各種linterの実行結果を渡してあげると、Pull Requestなどの差分に関して警告された行を教えてくれます。 私たちのチームではほとんどがGo言語による開発なため、golintなどの結果を表示するために使っています。 開発はGitHub Enterprise上で行なっており、CircleCI Enterpriseからreviewdogを実行すると以下のような警告がPull Requestのレビューコメントとして付きます。 似たようなツール

    reviewdogによるGoのコードレビュー - DeNA Testing Blog
  • Golang testingことはじめ(3)〜アプリケーションのテスト〜 - DeNA Testing Blog

    こんにちは。 2回にわたってGolang標準の testing パッケージを使ったユニットテストについてお伝えしてきました。 testingパッケージを使ったユニットテスト(testing) テストにおける共通処理(testing) アプリケーションのテスト(gomock, httptest) 今回はGolangで作成したアプリケーションをテストする際に利用できるライブラリなどについて紹介します。 この文章中に登場するサンプルは GitHub にありますので、実際に動作させることが可能です。 $ go get github.com/duck8823/sample-go-testing $ cd $GOPATH/src/github.com/duck8823/sample-go-testing $ git checkout refs/tags/blog $ dep ensure # 依存パッ

    Golang testingことはじめ(3)〜アプリケーションのテスト〜 - DeNA Testing Blog
  • Golangでtestingことはじめ(1)〜testingパッケージを使ったユニットテスト〜 - DeNA Testing Blog

    こんにちは。 Golangが一般的に使われるようになってきてもう久しいですね。 最近作られたSWET製のツールでも、Golangを採用したものがあります。 そこで、Golangの標準テストパッケージtestingやその他についてまとめたいと思います。 今回から3回にわたり、 testingパッケージを使ったユニットテスト(testing) テストにおける共通処理(testing) アプリケーションのテスト(gomock, httptest) を紹介します。 この記事を読んで一通りGolangでテストがかけるようになると嬉しいです。 この文章中に登場するサンプルは GitHub にありますので、実際に動作させることが可能です。 $ go get github.com/duck8823/sample-go-testing $ cd $GOPATH/src/github.com/duck8823

    Golangでtestingことはじめ(1)〜testingパッケージを使ったユニットテスト〜 - DeNA Testing Blog
  • 機械学習を使ってUI自動テストをサイト間で再利用する - DeNA Testing Blog

    SWETの薦田(@toshiya-komoda)です。 今回は第3回目の記事で言及させていただいた機械学習UIテストに関して実験的に進めている技術開発について紹介させていただこうと思います。 この記事で紹介している内容の実装はGitHubにアップロードしていますので、もし興味がある方はこちらも覗いてみていただければと思います。 こちらはTensorFlow Advent Calender 2017第7日目の記事にもなっています。機械学習の実装の中でKerasを用いてます。 とりあえずデモ 最初に以下のデモ動画をご覧いただきたいです。会員登録フォームに対する自動テストのデモです。各入力欄に適切な情報を入力しつつ、パスワード欄にだけ'weak'という不正なパスワード文字列を入力して、バリデーションで弾かれることを確認するテストです。デモでは入力欄に値を埋める部分を、Chrome Extens

    機械学習を使ってUI自動テストをサイト間で再利用する - DeNA Testing Blog
  • UIテストの最前線: SeleniumConf Berlin 2017参加レポート - DeNA Testing Blog

    SWETグループの薦田です(@toshiya_komoda)。10月9、10日にドイツ・ベルリンで開催されたSelenium Conferenceに参加してきました。私もLightning Talksで、機械学習UIテストに関する発表をさせていただきました(スライド)。 こちらの内容については、別の記事で書かせていただくこととし、この記事ではカンファレンスで聴講し、特に気になったトークについてレポートさせていただこうと思います。 ウェブ・アプリケーションにおけるUIテストの最前線の状況が少しでも伝われば幸いです。 Seleniumについておさらい Selenium WebDriverは、ウェブ・ブラウザをプログラムから操作するためのソフトウェアツールです。OSSとして開発されており、主な用途としてウェブ・アプリケーションのテスト自動化に用いられています。現バージョンは3.6.0(2017

    UIテストの最前線: SeleniumConf Berlin 2017参加レポート - DeNA Testing Blog
  • 1