https://ones.com/ja/blog/knowledge/mastering-software-unit-test-perspectives/