ホームページ > バックエンド開発 > Python チュートリアル > Python 自動化の基本的な技術原則

Python 自動化の基本的な技術原則

PHPz
リリース: 2017-03-12 16:53:35
オリジナル
3490 人が閲覧しました


python自動テスト (2)

自動化の基本的な技術原則

1 概要

前の記事で述べたように: 自動化を行うための最初の能力は理解することです現象を通して本質を見ると実際の IT 業務では、インターフェースを通じてデータを参照します

上記のスキルを習得するのは簡単ではありません。深く本質的なものを見るためには、コンピューター理論のしっかりした基礎が必要です。


2 層:

ユーザー インターフェイス層 UI

エンド ユーザーに対話型のヒューマン コンピューター インターフェイスを提供します


  • ビジネスロジック層BLL
  • データベース抽象化された
  • オブジェクト
が特定のビジネスロジックオブジェクトに結合され、プロセスが整理されます

    • DBのデータアクセス層DAL

      ORMレイヤープログラムはオブジェクトの形式でデータベースを制御します

    • データ永続層 DB
    • データを保存し、データを永続化し、さまざまなクライアントがデータを共有します

    • 従来の

      C/S

      アーキテクチャ下のアプリケーション (たとえば、Windows 上のクライアント アプリケーション) は通常、中央データベース
    • サーバー
    • (

      DB

      ) であり、これは N 個のクライアント (
    • DAL-BLL-UI
    ) に対応します。 。

    ジュニア テスター の場合、ソフトウェアの理解は UI レイヤーにとどまっている可能性があるため、テスト中にできることは次のとおりです: マウスを使用して、毎日、毎年クリック をクリックします。

    3 インターネットソフトウェアアーキテクチャ

    前編で述べたアプリケーションソフトウェアの基本アーキテクチャは、「C/S」時代に提案され、今日まで続いています。現在まで最も一般的な「ABC/S」モード

    :


    アプリ/サーバー

    ブラウザ/サーバー

    • クライアント/サーバー

    • 実は, 本質的には、クライアント側にUI層を配置し、その下のUI層をサーバー側に配置するだけです。 クライアントは、さまざまなプラットフォームでさまざまな表現形式を持ち、現在人気のあるいわゆる

      「ABC/S」
    • パターン アーキテクチャを形成しており、これは基本的に現在のインターネット製品の標準構成となっています。具体的なアーキテクチャは以下の通りです:
    • サーバーとクライアント間では通信プロトコル
    • Http/Https
    が使用され、データ交換の形式は

    Xml

    /Json

    形式です。

    上記のモデルに基づいて、ソフトウェアテストの方法論にいくつかの変更が加えられました:

    費用対効果が最も高い「通信エンコーディング形式に基づいたインターフェーステスト」を備えており、問題の80%を解決できますインターフェースのテスト作業は完全に自動化でき、開発プロジェクトと同じ言語を使用する必要はありません。統一された方法でより効率的なスクリプト言語を使用できます。 当然のことながら安定性が必要なので、自動化が必要です テスト プロジェクトの繰り返しの切り替えはありません

    インターフェイス テスターは、多くのプラットフォーム間の

    データに抽象化する機能を使用すると、目にする多くのものを合理的な同等のものに変換できます:



    • ボタンに表示される単語は「Submit」です

    • : ボタン要素の値は 送信


    • ユーザーがリチャージアクティビティを実行して 20 元をリチャージし、アカウントに 20 元が追加されました

    • 。これは、20 をパラメーター リチャージ インターフェイスを呼び出し、アカウント クエリ を 2 回呼び出したインターフェイスを前後で比較します。その違いはまさにリチャージ パラメーターの値

    データ レベルでの比較が非常に簡単になります プログラミング ,これらはコンピュータの得意分野だからです。処理の分野は解決され、自然に自動化が実現しました。


    4 下位レベルの原則

    ソフトウェア プロジェクトを、目に見える特定のインターフェイスから最下層のデータに抽象化する方法について話しました。実際、より低レベルでより絶対的なデータがいくつかあり、ソフトウェア データはより低レベルで物理世界に関連付けることができます (これを「抽象」または「具体」として説明するのはもはや簡単ではありません)。

    この部分の内容は、アプリケーション ソフトウェアのテストのテーマからは少し離れていますが、一般的な科学として扱いましょう。

    コンピュータシステムをより広い視点から見ると、それが人間に与える経験は基本的に次のように処理されます:

    人間の直感的な経験はすべてアナログ量(物理量)から来ます 経験、人間のインタラクション入力もアナログ入力から来ます。

    人々はキーボードをタップして、コンピューターシステムにテキストを入力します。キーボードは、さまざまなキー位置によって生成されたパルス電流をコンピューターシステムに送信し、チップとドライバーを通じてこれらの電流信号をデジタル信号に変換します。加工用のチップです。このようにして、人々は情報のインプットを完了します。

    コンピュータシステムはこれらのデータを計算、保存、送信などし、最後にLCDディスプレイ上のさまざまな位置のドットマトリクスを点灯させて光アナログ出力を形成し、それが人の目に送信され、人は完成します。 情報の取得

    上記の例は次のように単純化できます: 機械的物理量は入力として電気的物理量を生成し、コンピューターのデジタル システムによる処理の後、光学的物理量が出力されます。

    コンピュータシステムの場合、入力と出力の両方が多様です:


      • 入力デバイス

      • 現在ブームのスマートハードウェアなど、さまざまなセンサーがメイン入力として使用できます。盛んに宣伝されている モノのインターネット


      • 出力デバイス

      • 光学式LCDディスプレイに加えて、音響スピーカー、回転ホイール機構、および人型歩行ロボットアーム機構もあります。

    これらは、現在インターネット業界ではすでに非常に人気のある要素です。

    電子技術や通信の分野では、肉眼では定量化が難しい物理量を検出することが多いため、検査の閾値は非常に高くなりますが、各種検査機器はかなり発達しており、自動化の程度はかなり進んでいます。高い。一方で、IT業界の上位アプリケーションソフトウェア層では、手作業や肉眼観察に依存しすぎて自動化が軽視されており、その結果、試験業界は常に人材の質が低く、技術力も弱かった。これは明らかに非常に深刻なことであり、少なくともソフトウェア エンジニアリング業界の現在のニーズと非常に矛盾しているため、お勧めできません。


    5 自動テストについても簡単に説明しましたが、これは、テストを自動化したことがない人にインスピレーションを与えることを目的としています。

    以下の一連の記事では、これらの理論を技術レベルから実装します。

    要約すると、この業界に参入して深く発展したいと考えている人のために、以下の結論と提案があります:

    • ソフトウェアの本質はインターフェイスではなくデータです

    • ソフトウェアの本質を理解するには、優れたコンピューター基盤が必要です

    • インターネット業界に従事している人ならlinuxに精通している可能性がありますそして、この種のソフトウェアをできるだけ早く構築します。つまり、データの世界観

    • インターフェイスの自動テストは、最も費用対効果が高く、収益率も最も高くなります(Google エンジニアの観点から)

    • 自動テストを適切に行うには、ソフトウェア開発能力とシステム設計能力が必要です

    ここで書いて、最後に

    「アムウェイ」 Linux をさせてください。なぜなら、MacOS や Windows システムと比較すると、Linux は良いことをしないからです。インターフェイス内のジョブですが、強力な CLI インタラクションを備え、強力なスクリプトをサポートしており、自動化を実現するのに非常に役立ちます。

    (未完成、続きます…)

    これからもPython自動化

    ツールとプログラミングアプリケーションを書いていきます。



    以上がPython 自動化の基本的な技術原則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート