テスターちゃん【4コマ漫画】

ソフトウェアテストの用語、やり方などを4コマ漫画でわかりやすく説明する(予定の)ブログです。脱線も多いです。



【たった69行】自分が話した言葉をリアルタイム(?)でVOICEROIDに話してもらうプログラムを書いてみた

はい、作者です。今日はテスターちゃんの話ではありませんw

表題の通り、自分が話した言葉をまぁリアルタイム…もといワンテンポ遅れでVOICEROIDに話してもらうプログラムを書いてみました。

動画を見ていただくのが早そうです。

githubにコードをおいています。

全ファイルのプログラム合計でたった69行!

これで作れるのは世の中の進歩のおかげ……。

今日はそのプログラムの説明をしたいと思います。

 

webを操作するためにseleniumと、Windowsアプリを操作するためにappiumを使っています。

これらはテスト自動化でよく使われるものです。

これも超最低限の構成で、webから要素を取得したり、ウィンドウズのアプリに文字列張り付けてボタンを押したりさせてます。

テスト自動化を勉強している人は、webの操作/windowsアプリの操作の最小限の構成がわかるかもしれません。

あとコードがわかれば応用も聞くので、音声認識を使ったアレコレも作れるかもしれません。

自分が話した言葉を音声認識させて保存させるような議事録取り的なものとか。

イベントでtwitterやzoomに来た最新チャットを読み上げるとか。

zoomにきた最新チャットをコメントスクリーンに回すとか。

様々考えられそうですね。

www.youtube.com

github.com

 

同じことがゆかりねっと様でも可能です。

プログラムなんてどうでもよくてツールだけ使いたい!という方はそちらがお勧めです。

続きを読む

109.わかりやすい

f:id:m_training:20210816202756p:plain

 

109.わかりやすい

久しぶりの更新の作者です。

久しぶりの更新なのに箸休め回からの更新です。

2021年6月に発売した同人誌版7巻を作るときにページ数の関係と締め切りのタイミングで箸休め回がなかったわけです。

testerchan.booth.pm

 

実はテスターちゃんには規則的な流れがあります。

本編(テスト系の話)→箸休め回

になっています。

話と話の区切りの意図の他に、キャラの掛け合いをしたいなーといったところ。

ただの説明マンガではなく、ちゃんと「マンガ」として楽しめる要素を入れたいわけですねw

 

作者は割と副業をがんばっている

さて、作者7月は何やってたの?という話です。

続きを読む

108.リグレッションテスト その⑥

f:id:m_training:20210614064509p:plain

108.リグレッションテスト その⑥

リグレッションテストの最後の回です。

開発の方と話をすると

「修正したとこが動くの確認できれば大丈夫」

と返事をいただくことは多いです。

確かに他に問題がない場合の方が多いです。

とはいえ、他に目を向けたときに動きがおかしくなっていて

「あーそこも直さなきゃいけないんだった」

なんて場面に出会ったことも少なくはありません。

ユニットテストやE2E自動テストが回っていて修正忘れに気付くこともありますが、修正範囲にそういった仕組みが作られてないときもあります。

「確認テスト」(修正の確認)だけで本当に良いのか「リグレッションテスト」(周囲の影響のテスト)も別途実行した方がよいかは一旦足を止めて考えてみましょう。

続きを読む

107.リグレッションテスト その⑤

f:id:m_training:20210607074149p:plain

107.リグレッションテスト その⑤

リグレッションテストのやり方の一例

変更によって、他のテスト済みの機能に意図しない影響が出ていないか確認する目的のテスト全般がリグレッションテスト。

なので「これ!」といったやり方があるわけではないです。

ここで紹介しているのは作者が行った方法を並べています。

続きを読む

106. リグレッションテスト その④

f:id:m_training:20210524065624p:plain

106. リグレッションテスト その④

自動テスト

自動テストは、プログラムやツールを使って、決められた内容にそって行うテストの総称です。

例えば、プログラムと一緒に「テストするプログラム」を書いて、自分たちの書いたプログラムが思った通りに動くかテストするunit testがあります。

他にもAPIというデータ処理をして返してくれる窓口にデータを送って、返ってきたデータが正しいか確認するAPIテストなんかもあります。

あとは、作ったwebやアプリに対して、自動的にボタンクリックなどをするようなツールを使ってテストするE2E(エンドツーエンド / いーつーいー)自動テストもあります。

 

テスト業界いる人が「自動テスト」と話した場合はE2E自動テストを指すことが多いです。

開発の人が「自動テスト」と話した場合は、プルリクエスト(自分が書いたプログラムをみんなのプログラムとくっつけてください!というリクエストを投げたりします)したときに自動的に実行されるunit testを指したりしています。

 

リグレッションテストで自動テストが向いている場所

続きを読む

youtube投稿をしてみました

ある晴れた休日。

散歩をしていた時になんとなく思ったのです。

「そうだ。youtube動画を撮ってみよう!」

その日のうちに撮影してyoutubeへポン!

 

ほんと上記のような思い付きとノリと勢いだったのですが、投稿しましたら好評でしたので3回ほど撮ってみました。

イメージとしては会社に入ったばかりの新人さん用といったところです。

気が向いたら撮っていくつもりです。

そして……マンガも描き進めます~!!

 

youtu.be

 

youtu.be

 

youtu.be

 

再生リスト

テスターちゃんねる - YouTube

 

105. リグレッションテスト その③

f:id:m_training:20210418173227p:plain

105. リグレッションテスト その③

 影響があるところ

マンガで描いた通り、影響がある部分がどこかはとっっっても難しい問題。

JSTQBでは「影響度分析」という言葉で出ています。

影響度分析…変更が影響するすべての成果物を識別すること。変更を達成するために必要なリソースの見積りを含む。

変更が影響するすべての成果物を識別……とサクッと書いてくれてますが、そんなにサクッとはいかないのが現実です(^-^;

メソッド(プログラムだよ)を直したら、そのメソッドを呼び出しているところを探したり。

データベースのテーブル(表みたいなものだよ)をいじったなら、そのテーブルを使ってるところを探しまわったり。

APIをいじったら速度低下してないか計測したり。

バッチのSQL文を変えたらその影響で速度低下して、そのバッチがつきぬけて(時間オーバー)後続処理に影響ないんだっけって探ったり。

環境の変数をいじったら同じ環境にいるシステムでその変数使ってるところ探したり。

ガッツリやろうとすると時間がいくらあっても足りないところでもあります。

 

次のお話からは、こんなやり方をしてるところもあるよ、といったお話をしていくつもりです。

 

紐づけ

テストケースに、そのテストケースが何のテストベース(テストを考える元となる資料だよ)のどこから出したもの、と紐づけておくとよかったりします。

その元の資料にある場所に変更があったとき、どのテストケースの部分に影響がおよびそうかわかりやすくなったり、仕様変更時にどのテストケースを修正したらいいかわかりやすくなったりします。

テストの言葉だと「トレーサビリティの確立をする」なんて難しい言葉で言ったりします。

何を根拠としたものかたどれるようにしておく、ってことですね。

 

(ちなみに作者はweb系/ゲーム系にずーっと身を置いてますが、本を読み知識としては知っているものの、しっかり書かれている現物には出会ったことがなかったり)