Help us understand the problem. What is going on with this article?

テストでダミーのユーザ名に迷ったときは「alice」や「bob」を使うといいよ

More than 1 year has passed since last update.

テストコードなどにダミーのユーザ名を書くことがある。ダミーの単語としてはfoobar、日本語圏だとhogefugaが業界的に有名だが、人物名にも業界的によく使われるものがある。アリスとボブだ。

アリスとボブは、暗号通信などの説明に登場人物名としてよく使われる。一般的に、アリスが送信者でボブが受信者、そしてキャロルがそれを傍受するといったシナリオが扱われる。

アリスとボブが暗号通信の説明で使われる例: 楽しく学ぼう公開鍵暗号方式

楽しく学ぼう公開鍵暗号方式.png

暗号通信とは関係なくても、単体テストのテストケースでユーザ名にalicebobを使うと、foohogeよりもテストコードより現実っぽく表現できるし、イニシャルがABCで覚えやすいし、業界でよく使われる架空の人物名なので、僕は好んで使っている。たとえば、PHPUnitでテストを書くときはこんな感じにする:

final class EmailBuilderTest extends TestCase
{
    public function test_build_email(): void
    {
        $email = (new EmailBuilder())
            ->setFrom('alice@example.com')
            ->setTo('bob@example.com')
            ->setCc('carol@example.com')
            ->setSubject('Hi')
            ->setBody('Hi there')
            ->build();

        self::assertSame('alice@example.com', $email->getFrom());
        self::assertSame(['bob@example.com'], $email->getTo());
        self::assertSame(['carol@example.com'], $email->getCc());
        self::assertSame('Hi', $email->getSubject());
        self::assertSame('Hi there', $email->getBody());
    }
}

イニシャルがD以降の架空の人物名を含めると、僕は次をユーザ名に使うことが多い。

  • alice
  • bob
  • carol
  • dave
  • eve
  • frank

参考

suin
Qiita 4位/TypeScript入門書執筆中/TypeScripterのための座談会「YYTypeScript」主催/『実践ドメイン駆動設計』書籍邦訳レビュア/分報Slack考案/YYPHP主催/CodeIQマガジン執筆/株式会社クラフトマンソフトウェア創設/Web自動テスト「ShouldBee」の開発/TypeScript/DDD/OOP
https://yyts.connpass.com/
craftsman_software
「インフラの心配は、もうおしまい」 インフラ運用を自動化し、手作業を限りなくゼロにする会社
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away