でかんたにでかいか

QAエンジニアになってはや8ヶ月。興味駆動でいろいろやってます。

「Hello!TestCafeもくもく Part0」~TestCafeはなになり?~

f:id:gunchari:20200506123044p:plain
TestCafe

「ひとことで? 」

  • 「TestCafeの環境構築をして、TestCafeのデモサイト&自動化のためのデモサイトで簡単にコード書いて試してみたよ。楽しかったよ!」
    • というお話をするにあたっての「そもそも」のお話。

「ほう、TestCafeってなに?」

  • 簡単に言うと、TestCafeとはNode.js製e2eテストツールだよ。

「(なんか知らない言葉を話し出した…どう相槌打とう)」

  • わかる〜知らない言葉を話し出したときにどう相槌打てば良いかってむずいよね。
  • 一個一個話すね。

Node.js?

e2eテストツール?

  • End to Endテストツールのことだよ。
    • E2Eテストツールは、手動でやるテストと同じようなことを自動でやってくれるんだ。
      • ChromeGoogleの検索画面で『サイゼリヤ』と入力して検索ボタンを押すと、『サイゼリヤ』の検索結果一覧が出てくるかな〜」とか、そういうやつの「入力」「検索ボタン押す」「結果が期待値と合ってるか見る」をやってくれるんだ。
      • この記事とかに例えが載ってる。
      • 自動でやってくれるようにするためには「サイゼリヤと入力するように指示するコード」「検索ボタンを押すコード」「結果が期待値と合っているか見るコード」は書かないといけないんだよねその話はもうちょい後にやるね。
    • 「自動テスト」とひとことでいっても色々種類があって、E2Eテストは「自動化ピラミッド」の中ではピラミッドの先端なんだ。
    • 「E2E」のことなんだけど、
      • 企業から企業への取引のBusiness to BusinessをBtoBとかB2Bって呼ぶじゃない、あれのノリでそう呼んでるんだよね。たぶん。
      • 「なんのEnd to なんのEnd」なのかは、「フロントEnd to バックEnd」なのかな〜と思ってる。たぶん。

テストツール?

  • 「テストツール」と言われたときは「テストのなんのためのツールか」

    • テスト自動化のためのツール
    • テスト設計の管理をするためのツール

    のどちらかな〜というのを会話のコンテキストで判断すると良いと思う。

  • ちなみにTestCafeは前者で、後者だとTestRailとかの名前をよく聞くよ。

わかってきたありがと。もっかいTestCafeのこと教えて。

TestCafeとはNode.js製e2eテストツールだよ。

  • これだね。
  • 「1 minute to set up」って公式で言っているように、比較的環境構築が容易だよ。
    • でも私は1分じゃ無理だった。キューピー3分クッキングみたいなものだね。
  • 「TestCafe runs on Windows, MacOS, and Linux.」なんだって。
  • 「Write tests in JS or TypeScript, run them and view results」なんだって。
    • さっきの話で出たけど、「サイゼリヤググるテスト」を自動でやってくれるようにするためには「サイゼリヤと入力するように指示するコード」「検索ボタンを押すコード」「結果が期待値と合っているか見るコード」は書かないといけないといけなくて、そのコードを「JS」か「TypeScript」で書けるんだ。
      • 「JS」は「JavaScript」の略だよ。
      • JavaScriptとTypeScriptって何が違うの?どっち使えば良いの?」と言われると…ちょっと自信ないんだけど、
        • JavaScriptから拡張した「なんちゃらScript」ってたくさんあって、TypeScriptもその一つ。公式サイトに「TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.」ともあるし。たぶん。
        • 公式サイトに「JavaScript that scales.」って書いてあって、観覧車の絵とか「Strong tools for large apps」って書いてあることから、大規模開発に向いている。たぶん。
        • 「どっち使えば良いの?」は、気が向いたほうで良いと思うよ。余談だけど『好きなようにしてください』っていう本ちょっと面白いよ。話を戻すと私はTypeScript使った。

色々ありがとう。次はやり方教えて。

  • おっけー。次の記事あとで書くね。
    • ちなみに群馬県民が言う「あとで」には「このあとすぐ」の意と「また次の機会」という意があって、後者の意はもしかしたら群馬県民特有かも知れない、っていうのが最近私の中で話題なんだよね。
      • だから一緒にサイゼリヤとか行った時に「辛味チキンの『よく焼き』美味しかったな〜!またあとで食べよう」と言ったときは恐らく「このあとすぐ」ではなく「また次の機会、別の機会にサイゼ来たとき」のことを言っている。
      • お互い知っていることばなのに意が異なるって他にもありそうでこわいね。日常生活でもコンテキスト意識していきたいね。