はじめに
最近テストや品質保証の世界で頻繁にShift-rightやTesting in productionという言葉を聞くので、世界的にどれぐらいメジャーなのかを調べてみました。そこから新しい知識や次の調査項目が見つかるといいな、と思いつつ。
調べ方
基本的にはGoogle scholarでキーワード検索をします。関係ない分野のPaper等が引っ掛かる可能性もあるので、検索後人手でフィルタリングをします。
Shift-right
まずは一番広い用語と思われるShift-rightからです。
検索キーワード:"Shift-right testing"
ヒット数:10
数としてはそこまで多くないことがわかります。アカデミックな分野ではまだあまり用語としては使われていないようです。
こちらの修士論文では以下のように書かれており、Testing in productionと同義であるという言い方がなされています。一定のリスクを許容した上で、ユーザのフィードバックを早く受ける、ということの価値は理解するものの、それは果たしてTestingなのか、という疑問はわきますね。
Wagner’s definition of shift right testing is simply testing software in production. Shift right testing ideology is making a conscious decision to carry a certain level of risk deploying to production so that the business can get end user feedback faster and beat their competition to market. Delivery teams can also validate a hypothesis they are experimenting with
また、アカデミックな分野ではないですが、このブログには以下がShift right testsに分類されると書かれています。
- A/B testing.
- Synthetic monitoring.
- Chaos engineering.
- Canary releases.
- Blue-green deployment.
Testing in production
次に、前述の通りShift-right testingと近い用語であるTesting in productionです。
下表のとおり、Shift-right testingよりはヒット数が多いですね。
この発表では、”feature toggling”、”A/B testing”、”monitoring”がTesting in productionに分類されると説明されています。
おそらく単にシフトライトと呼ぶよりはTesting in productionの方が意味が明確であるため、アカデミックな分野では用語として使いやすいのかもしれません。
Chaos testing
まだ調査中なのでおまけ的な扱いですが、Chaos testingについても調べてみたので掲載しておきます。
結論から言うと、全然ヒットしませんでした。おそらく、前述の通りChaos engineeringで調査するのがよかったのでしょう。ここについてはこれからの課題として残しておきます。
まとめ
調査してみた結果、Testing in productionで調べると少なくない数の文献が見つかりました。
調査のモチベーションとしては、本質的にシフトライトしなければならないテストとは何なのか、ということだったので、見つかった文献を読むのに加えてTesting in productionに分類される技法などをより詳細に調べることで、当初の疑問を解決したいと思います。