こんにちは｡
そして､ テストの話もしましょう｡
テストは､ Pythonに限らず､ プログラミングにおいて重要な概念であることはおわかりいただけたと思います｡
最初は数行の簡単なスクリプトファイルを書いていても､ 現実の世界に入り込むと､
数千行､ 数百万行のコードになる｡
何百ものPythonファイルを､ 社内のさまざまな部署の多くの人が､ そしてほとんどの場合､ すべての人が異なる時間に作業を始めています｡
会社です｡
すべてのコードの変更は､ 人々がプロジェクトで作業するたびに､ コードの複雑さやサイズが大きくなるにつれて､
さまざまなタイミングで時間をかけて行われます｡
バグが発生しても､ 誰かが修正することが難しくなってしまうのです｡
例えば､ 何年も前からあるプロジェクトに入ってきたとしましょう｡
また､ 自分が思いもよらなかったアプリの別の部分を修正する可能性もあり､
アプリに導入した新しい機能でバグが発生し始めます｡
コードがプロジェクトに長く留まれば留まるほど､ 異なる開発者によって触られる可能性が高くなります｡
だから､ ここが問題だと思うんですよね？
企業にとって､ これは大きな問題です｡ なぜなら､ 企業は常に製品を成長させ､ コードの行数を増やしている可能性が高いからです｡
つまり､ この巨大なモンスターを作り続けることになり､ 飼いならしてデバッグするのがどんどん難しくなっていくのです｡
そして､ 企業には多大なコストがかかる｡
幸いなことに､ 私たちにはテストというものがあります｡
そして､ テストはこの問題を解決するのに役立つのです｡
テストとは､ その名の通り､ ソフトウェア開発において､ 関数などのソースコードの個々の単位が正しく動作するかどうかをテストする手法である｡
コーディングの面接ではあまり関係ないかもしれませんが､ 通常､ 多くの企業は面接の際にテストについて考えていません｡
キャリアを積めば積むほど､ その重要性は増していきます｡
例えば､ 私の場合､ プログラマーとして入社した当初は､ 採用されるまではテストについてそれほど詳しく知りませんでした｡
しかし､ キャリアを積むにつれてテストの重要性はますます高まり､ 私をより良い開発者にするための一つの手段となっています｡
だから､ もしあなたが上級プログラマーになりたいのなら､ そして長くキャリアを積んでいきたいのなら､ 本当に技術を習得する必要があるのです｡
というのも､ 真面目な会社は必ずテストをしていて､ あなたのコードのテストを書いてほしいと思っているからです｡
では､ この「テスト」という考え方をもう少し掘り下げてみましょう｡
テストは単純にPythonのファイルの一つであることはお分かりでしょう｡
さて､ 私の場合､ デスクトップにメインパイとテストパイのファイルを置いています｡
ここです｡
通常､ あるファイルにこのようなテストファイルが付随しています｡
例えば､ 100個のPythonやモジュールのファイルがあったとして､ それらのモジュールはそれぞれ独自のテストファイルを持っていて､
それでテストを実行することができるわけです｡
さて､ これから書くこのファイルは､ 実際に本番で実行されることはありません｡
これは､ このメインファイルを本番にリリースする前に､ すべてが正しく動作していることを確認するために実行するファイルです｡
ですから､ これはあくまでも開発用ですが､ 実際には絶対にしません｡
まあ､ お客さんはこのファイルを見ることはないでしょうけど｡
さて､ 実際にテストを書き始める前に､ コードをデバッグするためのいくつかの方法を学んだことを思い出してください｡
そうだろ？
操縦の仕方などを学びました｡
私たちがVisual Studioのコードにインストールしたもので､ コードを入力するときにリンクして構文や小さなエラーをチェックします｡
また､ 私たちが利用したオンラインリプルは､ パイ・フレックスという別のものを利用したもので､ 単なる貸し手であることを確認しました｡
そして､ その円グラフも拝見しました｡
私たちのIDは､ 貸し出しも内蔵していました｡
また､ オートペップエイトというものがあることも知りました｡
あるいは､ Pythonの標準的なスタイルガイドであるPep eightです｡
そして､ これによって､ 私たちのコードがPythonコミュニティが合意したスタイルに合致していることを確認することができるのです｡
これらは､ 私たちのコードが単純なスタイル上の問題や､ 変数を宣言していないなどの単純なミスをチェックするためのシンプルなツールです｡
しかし､ これだけでは限界があります｡
テストは､ リフティングをした後､ ペップエイトのようなことをした後､ それらの要件をすべて満たしてファイルが動作するまでの､
より高いレベルの方法なのです｡
テストは､ 実際にコードをさらにチェックするための方法です｡
では､ 私が話し続けている､ コーディングしないテストはどのように書けばいいのでしょうか？
さて､ 確かめてみましょう｡
幸いなことに､ 標準ライブラリのビルトインモジュールがあるので､ それを使えばいい｡
といいます｡
単体テストを行います｡
そこで､ 次のビデオでは､ いくつかのテストを書き始め､ いくつかのサンプルコードを書き､ それらがプログラマーとしてどのような利益をもたらすかを正確にお見せしたいと思います｡
次回作でお会いしましょう｡