改元に関するテスト観点を考えてみました

QUES TECH

ヒューマンクレストの磯部です。
年度も明けたので、特に業務的な要請はないけれど改元のテスト観点を考えてみました。
『知識ゼロから学ぶソフトウェアテスト』にならって、入力・出力・計算・保存という切り口で書き出していきます。

入力処理

まずは当たり前のところから。
和暦で新年号を使った入力、特に境界値として年号切り替わりの 2019/04/30 と 2019/05/01 は必ずテストします。
新年号に応じた略記号も入力で使いますね。

和暦で入力できる場合、正しい値(例えば、[新年号]元年5月1日)以外に、正しくない値(例えば、平成31年5月1日)でも試す必要があります。
もちろん、エラーが出る、正しい値に変換されるなど処理がどうなるかは仕様次第です。
特に、平成31年5月1日のような過去に正しかったけれども、現在は正しくなくなった値は要チェックだと思います。

出力処理

入力したものが表示できることは当然確認するとして。
「㍻」のような合字を使用しているならば、テストが必要です。
合字は、Unicode で 1文字に割り当てられているのですが、新年号が決まると新しくコードが割り当てられるそうです。(参考サイト:Microsoft | TechNet 新元号への対応についてのアップデート
アプリケーションだけでなく、フォントとかOSがからんでくるので、いかにもバグが出そうですね。

計算

和暦と西暦の変換については、入力処理で記載したような値は網羅してテストすべきでしょう。
正しくない値として、平成31年4月31日のような存在しない日付を変換してみるのも必要です。

平成31年5月1日のようなパターンでは、西暦との相互変換をした場合に、変換と逆変換をかけると元の値に戻ってこない気がしますね。

1つの日付ではなく、日付の期間や、日数計算などがあると、考慮事項が一気に膨らみます。
全てUTCに変換してから計算するのであれば、変換をしっかりテストすれば良さそうですが。
例えば、平成30年4月1日〜平成33年3月31日の期間の日数を計算する場合はどのようなアルゴリズムになっているか。
このあたりは、ブラックボックスでテスト設計するにも限界がありそうで、アプリケーションの内部仕様を深掘する必要があります。

また、新規リリース・新規サービス開始でないかぎり、新年号に対応したバージョンにどこかで切り替わることになります。
処理やステータス遷移が、バージョン切替えをまたいで行われる場合は、特に注意が必要です。
バージョンアップは新年号への切替え前だから、と油断は禁物です。
未来日を扱うケースは多く考えられます。
期限の終わりや、なにかの終了日は何年も後になるケースもあるので要注意です。

データ保存

保存についても、内部仕様が気になるところです。
すべてUTC保存であれば、前記で上げたような値に対して、保存されていることを確認するだけで問題ないのですが。

こんな現実もありますし。

和暦(年号) がなんらかの形で保存されているのであれば、それに対する確認が必要となります。
既存データの参照だけでなく、更新で問題が起きないかも確認します。
既存データを編集して何も変えずに再保存というのも注目ポイントですね。

おわりに

なるべく特定のサービスを想定せずに、一般的な観点として考えてみました。
なかには本当に改元対応のテストを業務で行う方もいらっしゃるかもしれませんが、参考になれば幸いです。
特に予定がないみなさまも、「こんなところをテストする」「ここでバグが出るはず」と考えてみてはいかがでしょうか。


React Test

QUES TECH

こんにちは。ヒューマンクレストのマイです。

現在自社サービス開発でReactというJavaScript(JS)ライブラリを使っております。

開発ではテストが欠かせないので、テストを意識しながら、開発を進めています。今回はReactのテストについての話をしたいと思います。


テスト自動化- puppeteer

QUES TECH

image

こんにちは。ヒューマンクレスト山口です。
私は普段「Selenium」を用いて、Webサイトの自動化しています。
皆さんは自動テストをしながら、HTTPステータスコードを確認したいと思ったことはありませんか?
現在、「Selenium」ではHTTPステータスコードを確認することはできません。
HTTPステータスコードを取得するには様々な方法がありますが、ライブラリを使うのも1つの手段だと思います。
そこで今回は「puppeteer」を用いたWebサイトのテスト自動化を簡単に紹介します。


Selenium Committer Day 2017 参加レポート

QUES TECH

image

こんにちは。ヒューマンクレスト山口です。
7/1(土)に「Selenium Committer Day 2017」に参加してきました!
今回は、簡単にその内容をまとめようと思います。


AWS Device FarmでAndroidのChromeを動かす

QUES TECH

image

こんにちは。ヒューマンクレスト山口です。
Androidの実機で自動テストを行う時、どのような環境でテストしていますか?
今回はAWSが提供するDevice Farmを使用した方法について紹介します。


Selenium 3.0.1 × Gecko Driver 0.14.0で最新のFirefox 51.0.1を動かしてみた

QUES TECH

image
こんにちは。ヒューマンクレスト山口です。
Seleniumを使用したブラウザの自動テストを行っている方は、既にご存知かと思いますがFirefox47より、Gecko Driverを使用しないと動作させることができなくなりました。
今回は、GeckoDriverを使用する際の変更点と現状についてまとめます。


ランダム文字列の衝突確率

QUES TECH

こんにちは、ヒューマンクレストの磯部です。
今回はランダム文字列の衝突確率について考察します。
自動テストを運用する際に、意外に何度も実務で使ったことがあるので書いてみました。


グローバルにおける品質の考え方

QUES TECH

こんにちは。ヒューマンクレストのマイです。
私はベトナム出身で高校を卒業してから日本に来ました。母国と違う国に住み、今まで自分にとっての常識や考え方が覆されたことが少なくありませんでした。今回は自分が経験したことに基づいて品質の考え方について話したいと思います。

早速ですが、皆さんは物を買うときに何を意識していますか。値段?見た目?最近ECサイトでのお買い物が当たり前のように行われており、口コミなどを見て買い物をする人も少なくないですね。しかし、店舗での購入であれ、オンラインショッピングであれ、一番意識しているのはやはり「品質」ではないでしょうか。

我々が普段何気なく使っているこの「品質」という言葉ですが、「品質とは何か」と聞かれてすぐに答えることができるでしょうか。


【TestLinkでナレッジ蓄積】Excelからテスト項目書をインポートする方法

QUES TECH


はじめまして。ヒューマンクレストの原です。

私は色々なツールを調べる社内活動グループに所属しており、
現在は、テスト項目書(ナレッジ)の蓄積としてテスト管理ツールのTestLinkを
活用できないかを調査しております。

今回は、そのTestLinkの調査内容について書いてみたいと思います。


テスト自動化(10)ChromeDriver

QUES TECH

googledriver

皆さん こんにちは

WebアプリをAndroid端末でテストする時、ブラウザは何をお使いですか?
Android 4.2系以降Chromeが標準で搭載されるようになりましたが、まだまだ、標準ブラウザが主流のようです。
最近、Andorid 5系のLolipopにバージョンアップできる機種もやっと増えてきた事によって、今後Chromeの比率も高くなるのではないのでしょうか?

スマホの自動テストと言えばAppiumですが、今回は、「ChromeDriver」で、お手軽!にChrome for Androidのテスト自動化環境を構築する方法についてです。