ソフトウェアテスト_備忘録

コマンドの終了ステータス

下記のコマンドで確認できる
出力が0だと成功、1か2だと失敗、2は重大な失敗らしいw

echo $?

テストってなに
具体例を知りたい

シェルスクリプト

コマンドラインに手で打っているコマンドをファイルに書いて一気に実行できるようにしたもの
シェルでやってるやつをシェルスクリプトとして作ってみる
一番上にシバン”#!/bin/bash”をつけておく、Linuxの場合はこれでOK

完成したらchmdで実行権限を与える

実行すると1と0がでる

シェルの関数

”関数名 () {}”で関数を定義できる

テストとは

プログラムが意図通りに動作するかを別のプログラムを書いてテストすること

手順

  1. 関数やプログラムに引数で、あるいは標準入力からデータを入力

  2. 出力を記録

  3. 期待した出力と一致するか比較

理想的な開発スタイル

  1. こまめにテスト

  2. テストに通ったらGitにコミット

  3. テストに失敗して、原因不明なら前回のコミットに退却
    ・git restore

  4. さらに細かくテスト

リグレッションテストの書き方

テストの流れ

  1. テスト対象の関数やプログラム(コマンド)に何か入力
    ・今回は標準入力を使ってテスト

  2. 出力をあらかじめ期待していたものと比較

  3. 比較の結果違っていたら異常終了

準備

  1. plus_stdinをplusに改名→コミット

  2. 次のようなシェルスクリプトを書いて動作確認

  3. とりあえずGitHubにpushしておく

下記のように記述を変更する。出力を変数に格納。
テストコマンドで正解と比較
動作確認

ちなみにシバンに-xvを追加すると実行の様子を実況中継してくれるようになる。困ったときはこれで確認しよう。

更なる改良

テスト項目の追加

GitHubでのテスト

GitHub Actions

仕事や人の使うソフトの場合は?
環境とかライブラリが違う場合、困る
テストもできるウェブサービスがある

自動でテストできることがキモ
終了ステータスが0になったら次へいく

テストするときの使い方

1.リポジトリに.github/workflowsというディレクトリを作成
2.〇〇.ymlというファイルを作成
3. ymlファイルを編集
4. pushするとワークフローの自動実行

複数バージョンのPythonを試す

ジョブにstrategy/matrix/python-versionを追加

READMEの整備

書くこと

  • 何をするためのソフトか

  • 使い方
    ダウンロード、インストール、起動する手順、簡単な使い方

  • どんな環境で使える可
    OS/Pythonのバージョン/他に必要なソフトウェアやライブラリ

  • テストの結果

  • 権利関係・謝辞
    著作権、ライセンス(利用しているソフトウェアについて)
    手伝ってくれた人のリストと手伝いの中身

  • その他必要なこと


この記事が気に入ったらサポートをしてみませんか?