Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Tkinterアプリケーションの機能テスト実例:ユーザー入力をテキストファイルに保存して検証する方法

ここでは、GUIベースのPython Tkinterアプリケーションを例に、機能テスト(ファンクショナルテスト)の具体的な進め方を解説します。このサンプルアプリケーションは、ユーザーが入力したテキストを受け取り、新しいテキストファイルとして保存することで入力内容を検証できるものです。保存されたファイルには、ユーザーがタイプしたテキストがそのまま記録されるため、ファイルの中身を確認することでユーザー入力が正しく処理されたかどうかを検証できます。

機能テストとは何か

機能テストでは、主に以下のような観点に焦点を当てて検証を行います。

  • バックエンドAPIの動作
  • データベースとの連携
  • ユーザーとサーバー間の通信
  • 入力(Input)と出力(Output)の整合性

機能テストの戦略を使ってアプリケーションをチェックするには、まずユーザーの要件期待される入出力を正確に理解することが重要です。その前提段階を踏まえたうえで、さまざまなテストケースに対してアプリケーションが正しく動作するかを検証していきます。

サンプルアプリケーションの概要

今回取り上げるのは、ユーザー入力を受け付けてシステム内にテキストファイルとして保存する、シンプルなGUIベースのTkinterアプリケーションです。具体的なコードは以下の通りです。

コード例

from tkinter import *

win = Tk()

win.geometry("700x600")

# タイトル用ラベルを作成
title_label = Label(win, text="Enter the File Name")
title_label.pack(anchor='n')

# ファイル名入力欄を作成
title_entry = Entry(win, width=35)
title_entry.pack(anchor='nw')

# 保存ボタンと保存処理の関数を定義
def save():
    # 入力欄の内容を取得し、ファイルに書き込む
    file_title = title_entry.get()
    file_contents = text_entry.get(0.0, END)
    with open(file_title + ".txt", "w") as file:
        file.write(file_contents)
        print("File successfully created")
        file.close()
    pass

# ファイル内容を保存するボタンを作成
save_button = Button(win, text="Save The File", command=save)
save_button.pack()

# テキスト入力エリアを作成
text_entry = Text(win, width=40, height=30, border=4, relief=RAISED)
text_entry.pack()

win.mainloop()

実行結果の確認

上記のコードを実行すると、次のようなウィンドウが表示されます。

Python Tkinterアプリケーションの機能テスト実例:ユーザー入力をテキストファイルに保存して検証する方法

Save the File ボタンをクリックすると、入力したファイル名(この例では 「Tutorials.txt」)でテキストファイルが保存されます。

その後、実際にファイルの保存先フォルダへ移動し、生成されたテキストファイルを外部のエディタなどで開いてみましょう。ファイルの内容が、ユーザーが入力したテキストと完全に一致していれば、アプリケーションが要件どおりに動作していることが確認できます。

Python Tkinterアプリケーションの機能テスト実例:ユーザー入力をテキストファイルに保存して検証する方法

機能テストのポイントまとめ

この例のように、機能テストでは「ユーザーが何を入力し、システムがどんな結果を出すべきか」という要件をもとに検証を行います。GUIアプリケーションの場合でも、画面操作の結果として生成されるファイルやデータベースの状態などを確認することで、バックエンド側の処理が正しく行われているかを客観的に判断できます。複数のテストケース(正常系・異常系)を用意して入出力を比較することが、質の高い機能テストへの第一歩となります。

  1. Python Tkinterのaskopenfile()関数でファイルを選択して読み込む方法

    Pythonプログラムで使用するファイルのパスをハードコーディングする代わりに、GUIを使ってユーザー自身にフォルダ構造をブラウズさせ、目的のファイルを選択してもらうことができます。これはtkinterモジュールを利用することで実現でき、キャンバス(ウィンドウ)を定義し、その上にファイルを参照するためのボタンを配置します。以下のプログラムでは、ファイルを開くための関数を定義しています。ここではテキストファイルを開くことに限定しています。Pythonはテキストファイルの内容を読み取り、非常に読みやすい形で出力できるためです。.txtや.csvなど、テキストベースのファイルであればどのようなもので

  2. Pythonで作る誕生日リマインダーアプリケーションの完全ガイド

    この記事では、Pythonを使って誕生日リマインダーアプリケーションを作成する方法を解説します。当日の誕生日を自動的にチェックし、デスクトップ通知で教えてくれる便利なツールを、初心者でも理解できるようにステップごとに説明していきます。 課題の定義 まず、このアプリケーションに求められる要件を整理しましょう。 Pythonで、当日が登録済みの人物の誕生日かどうかを判定できること 誕生日の人物がいれば、その人の名前とともにシステムへ通知を送信すること このアプリケーションでは、日付・月・氏名を保存した「ルックアップファイル(照合用データファイル)」が必要です。ファイルのイメージは以下の通りです