ソフトウェアテストの将来に影響を与える5つのこと(翻訳)

要約:

ソフトウェアでの私たちの表情からは、リスク、思考、我々のテスト設計手法と戦略の複雑さを評価し、ユーザーへの安定的なファッション製品をリリース助けるために、技術は私たちがソフトウェアをテストする方法に影響を与えています。技術の進歩が続くと、その影響が唯一成長します。ハイレベルでは、私たちが見てきた5人は、ソフトウェアのテストシェーピングの将来における重要な事柄がありますされています。

過去20年間で、ソフトウェアのテストツール異なるアクティビティを実行するだけでなく、これらのツールを使用する人々を思考の進化へ。そして、あなたは、ソフトウェアのテストのためのツールの数が少ないに慣れるが、今、私たちはオープンソースに特許から、から選択するには、あまりにも多くのツールを持っています。同様に、アジャイルの世界でチームの重要な変化に貢献する人々は情報の駆逐艦ではなく、ゴールキーパーとしてテスターに​​始まった、そして彼らのソフトウェア開発ライフサイクルプロセスを追跡するために正の開発チームがたくさんあります。技術の進歩への進化のおかげ。

我々はソフトウェアから見影響の種類、リスクを評価し、思考の複雑さ、我々のテスト設計手法と戦略、および利用者の道に安定した製品をリリースするのに役立つ、技術は我々がソフトウェアをテストする方法に関する明確な影響を与えている、とだけ技術の進歩と持続など。上面には、私たちが見てきた5人は、ソフトウェアのテスト成形の将来における重要な事柄がありますされています。

1. 人工知能

約5年前、誰もが「モバイル第一」の話をして、ユーザーがモバイルウェブを使用する方法を与え、ネイティブとハイブリッドアプリケーションは、モバイル体験をもたらします。さて、新しい流行語は、人工知能です。それは自動的に、車を運転して(もちろん、彼らのアレックスケシャのような人)ホームヘルプ、コンピュータビジョン、ヘルスケア、金融年、今でソフトウェアをテストしています。

今、市場でのいくつかの信頼は、非常にいくつかのツールは、書き込みを助けるために機械学習を利用するには、テストや回帰テストを終了し、最後に、機能テスト手順を実行します。まず、彼らはテストの自動化ベースのユーザインタフェースに焦点を当てて - より多くのユーザーがテストを作成するために、アルゴリズムは、テストがより安定すること、よりインテリジェントになります。

人工知能のおかげで、我々はテストの利点を見始めることを期待することができますいくつかあります。

  • 単純なテストコードを書きます
  • 低メンテナンスのテストスクリプト
  • あまり不思議なテスト
  • 非技術系の人々は、オートメーションをやって起動するように、
  • よりシンプルなCI / CD内蔵
  • その他の再利用可能なテスト

例えば、私はキュウリ、JavaとAppium自動化フレームワークを作成しました。私は、さまざまなアクションを実行するために、カスタムコードを記述する堅牢なフレームと多くの柔軟性を持っているが、私は多くの場合、一般的なメンテナンスの問題に苦しんでいるが。開発者は、要素の属性を変更する場合は、この属性は私の自動テスト・カバレッジとなっている、とテストが失敗し始めました。その結果、私はこれらのテストを維持し、代わりに実装された新機能をカバーする新しい自動化スクリプトを作成する多くの時間を費やしました。

この問題は今解決するために、ドキュメントオブジェクトモデルダイナミックロケータから抽出するために人工知能を使用することができます。リアルタイム、人工知能、分析およびドキュメントオブジェクトモデルからすべてのオブジェクトツリーの性質、および様々な要素の特定のプロパティのリストを作成することができます。したがって、プロパティ変更要素は、AIこの、注意深い検査テーブルの位置を特定するには、この要素の属性のリストにしようと素子が配置されるまで継続します。このテストでは、より安定している、プログラミング、テストの実行がはるかに高速になり、テスト、メンテナンスに費やす時間を短縮しなければなりませんでした。

2. 開発事業

、より良い協力するソフトウェア開発チームと運用チームを助けますので、自動化を通じて一定の確保と監視の両方のインフラストラクチャ管理ソフトウェア開発ライフサイクルを含んで実行するために開発されました。

あなたは、ソフトウェアテストにどのようにこの影響を頼むかもしれませんか?答:私たちは、すべてのテストの一部を行うことが変化しています。私は変更が含ま予知します:

  • 起動すると、ソフトウェア開発のライフサイクルは、自動化のニーズを開始し、ほぼすべてのテストケースを自動化することを保証するために、
  • すべての品質保証作業がスムーズCI / CDサイクルを確実にするために、割り当てる必要が
  • これは、本番環境の継続的な監視を確保するために、コラボレーションの高レベルを必要とします
  • すべての品質保証作業を標準化する必要があります
  • 「このモードでは、完全なテスト」からテストのパラダイムシフトが「減少し、ビジネスリスクのリリース候補は何ですか?」にします

キーは、上記の変更のすべてを自動化することです。開発作業や手に自動前進手 - 1の欠如は、他では動作しません。これは、人々を持参し、より短く、より多くの独立したリリースサイクルを置く助けるために巧妙なツールです。

私は、操作は、いくつかの仕事をチームワーク、テスト、開発で働いていました。私たちは疑問、より不安定なCI / CDインフラストラクチャにおける製品により、サイクル、専門用語では、ソフトウェア開発ライフサイクルの欠陥の多くを見て、めったに製品のモニタリングと統計を見ません。これらの欠陥に気づいた、開発チームは、運用方法を実施することを決定した、と誰もが協力して、すべてのソフトウェア開発ライフサイクルに貢献し始めました。これは、要件の収集から始まり、製品の発売やモニタリングを通じて延長します。

チームの士気にプラスの影響がより多くの自動化を生成するために開始されますから、これは、協力の文化を高め、チームは単位として一緒に仕事を始めました。

3. サービスとしての品質保証

ただ、我々はサービス、サービスとしてのインフラ、サービスとしてのプラットフォームとしてのソフトウェアを持っているかのように、我々は今、サービスとしての品質保証を持っています。過去数年間で、それが一般的な方法をテストするためのソフトウェアの要件を満たすために、会社となっています。

あなたの会社のサービス品質保証ソリューションは、によって、ソフトウェアのテストプロセスが簡単になりますがあります。

  • テストケースの管理と保守ソリューション
  • これは、テスト自動化ツールの少ないコーディングが必要です
  • 堅牢なテストレポートのログ、スクリーンショットやビデオ再生機能があります。
  • シンプルなCIのシステム統合

携帯電話、仮想マシン、ネットワークセキュリティと人間のテスト、行うには、過去7年間で自動化などのリソースは、私はしばしば大きな問題は、私は自動テストを実行するために私自身のサーバーを維持する必要があることであるキャッチ。サーバーは、ストレージスペースの慣性運動のようなさまざまな問題、テストの大半の全周に亘って連続運転での風変わりなインターネット接続、遅い処理速度だけでなく、最新のシステム、ツールを構築し、セキュリティパッチ、統合開発環境、などを持っています頻繁に要件を更新しました。彼らはあなたのためのこれらの活動のすべてを行うことができますので、この種の問題は、品質保証ソリューションのサービスプロバイダにすることができ、そのチームのメンバーは、より重要なタスクに集中することができます。

将来的には、先に彼らの競争相手の滞在するためには、自社製品を改善するためのより多くの方法を考えているサービスプロバイダとしての品質保証、それはまた、ソフトウェアのテスターを助けます。

4. 物事

ウェアラブル、柔軟性、家、車や他のクラウドベースの技術の到来に接続することが可能で、物事は、議論の大きな話題になり始めています。驚くべきことは、これらのデバイスは毎秒で非常に多くの取引所との統合が発生していることです。

ハイレベルでは、私たちはさまざまな交流がウェアラブル健康トラッカーで発生分析してみましょう。まず、モバイルアプリケーションと健康トラッカーが相互に通信する必要があります。キャプチャされたモバイルアプリケーションのデータをシームレスに、デスクトップ、モバイル、WebアプリケーションのタブレットPCのバージョンに統合されると、これらは、通信デバイスを介してリアルタイムに発生する必要があります。すべてのデータは、クラウド、デバイスやアプリケーションから移動します。これらの計算と交換がリアルタイムで発生する必要があるので、人々は、アプリケーションゲームを通じてグループとお互いを作ることができます。別のイベントトリガに基づいて、適切なタイミングで適切なユーザーに送信され、適切な通知を必要とします。これらのすべてのやり取りは、ネットワークを介して行われます。

あなたは健康トラッカーをテストするためのテスターです想像してみてください。どこで始めるのですか?どのようにあなたのテスト戦略と方法を設計していますか?

物事はソフトウェアテストの複雑さの独自のレベルをご紹介します。より多くの焦点は、統合テストの古い方法ではなく、個々のコンポーネント・テストに提供する必要があり、特にとして、我々はテストについての考え方に影響を与えるために起こっています。

私は旅行予約会社として働いていたとき、アップルの時計の新しいアプリケーションを思い付いた(それが最初にAppleが導入されたとき)例えば、我々は、時計システムを使用しています。アプリケーションは、このような通知の表示など便利な機能を、制限情報、予約、ホテルのロケーション、フライト、レンタカーの能力に報います。このアプリケーションをテストするとき、私は、Appleウォッチアプリケーションプログラムが電話で私に同じアプリケーションを接続したときに、奇妙なことがあることが見つかりました:私は、アプリケーションを最小化すると、アップル・ウォッチは電話でブランクになりますが、一つだけ黒;しかし、私は時に携帯電話上のアプリケーションを再オープンし、黒い画面が、Appleは、アプリケーションが動作している見て、消えます。

統合テストを行うことが重要である理由の完璧な例です。より多くのデバイスは、組織を持つことになり、市場を入力して、ユーザーが非常に重要であるとして。

5. ロボット

今のロボットは、テストを行います。一部の人々は、これは用語「雇用保障」の表現を脅かすだろうと考えるかもしれませんが、私はまだ人間の心を交換することはできないと思います。ヒューマン・マシンは、彼らがやって、彼らは物事は彼らが物事を行う作るためにプログラムを書くことを期待しているという事実されることを保証するために監視が必要になります。どのように遠く離れたこのスケーラブルから?時間だけが教えてくれます。

一言で言えば、技術の進歩は、私たちがソフトウェアのテストを行う方法に影響し始めています。また、同社は、組織再考することができます:品質保証チームは、開発チームの中に埋め込まれ、そしてチーム全体の品質を持つことになります。それはまた、顧客の観点から、製品をより柔軟にするために、頻繁に、より便利に重要な、インタラクティブな開発グループとテストグループになるために勉強を開始します。

十分な計算能力、データのこのフィルタリングは非常に有用な情報とフィードバックを取得し、大規模なデータ交換制御プログラムが必要になってきているがあります。最後に、この現実にするために、企業はプロセスを傾け、そしてより透明性、技術革新への障壁になってきて避けるようにする必要があります。効率的な成長は、その重要な転換を傾けます。

我々はシステムを見て、対応するテストが重要であるかについての我々の考え方を変更します。我々はそれを無視するか、それを受け入れることを選択することができます。あなたはどうするつもりですか?

おすすめ

転載: www.cnblogs.com/fengye151/p/11518709.html