ソフトウェアのテストのインタビューは、出会いの90%を質問:「あなたは、テスト環境を設定します?」

インタビューは、そのような質問に直面したとき、多くの人が私の心の空白を見て感じるだろうか、こまごまとしたが、私はどこから始めれば分かりません。

一方でインタビュアーが意図のこの質問を知っていないのですか?私は彼が答えが欲しかったのか分からないのですか?

もっと答える何から知りません。

業界の専門家テスターの8年以上のためのテストとして、私は私の経験や意見の一部を共有したいと思います。

 

間違いなく、インタビュアーがこの質問をまず第一に、あなたは明確な答えを取得したい、私はあなたがテスト環境を構築するための良いテストエンジニアことを願っています。

QAは関係なく、テストの種類、最も基本的な機能のテストは、我々はテスト環境をセットアップする必要がありません。

高度なパフォーマンスの圧力テストの一部、環境を構築するための高い要件。

だから我々は、テスト環境をセットアップし、優れたテストエンジニアに必要なスキルの一つですが、また、前提条件のQAテストを実施すること。


もちろん、やみくもに他の部門に依存している場合、それは非常に他の部門は、時間やスケジュールの後ろを持っていない場合は、直接影響を与えるだろう、仕事の制限が行わテストする、いくつかの企業は、O&Mを有していても、R&D部門は、テスト環境を支援する準備ができているが、QA進捗及び試験作業の効率。

QAとテスト環境、それが後半に事業拡大は、テスト環境を最適化するための時間を必要とする、またはデバッグする際に問題が発生し、他の部門に依存する必要があり、テストは独立して動作しませんの維持管理を担当していない場合、テストは専門外のスタッフを見ていきます。

QAの重要性を理解し、その後、実際にテスト環境をセットアップする能力を持つようにしたい、テスト環境をセットアップする能力を持っているし、どのようなスキルや知識は、それを習得するために必要な?

これは、どのようなテスト環境を知るために私たちを必要としますか?

テスト環境(テスト環境)は、短い、テスト環境=ハードウェア+ソフトウェア+ネットワーク+ +テストデータ作成ツールで必要な試験、ソフトウェア、ネットワーク装置の総称、履歴データを、完了するためにコンピュータのハードウェア及びソフトウェアを指します。

もちろん、我々はテスト環境をセットアップすることを学ばなければならない、我々はこれらの5つのスキルと知識を持っている必要があります。

だから、我々は、彼らがガイドを作ることができることを願って、誰もが詳細に紹介するために、知識の深さと幅を把握する必要があり、知識の各領域に焦点を当て、自分の努力の方向性を知っています。

ハードウェア、一般的なハードウェアテストは、関連するコンテンツを含むことになるように、Windowsシステム、LinuxシステムおよびMacOSのシステムとして、コンピュータ・システムです。

テスト環境は、試験されたソフトウェアによって現在の特定のニーズに応じて、上記システムのいずれにも展開することができます。

一般的なオペレーティング・プラットフォーム・ソフトウェアは、Windowsシステム上で複数とすることができるが、そのようなサービスの動作に必要な対話型のソフトウェアなどのサービス、またはソフトウェア背景ベアラサービスを関連構造は、Linuxシステム上に構築されます。

だから、Linuxオペレーティングシステムのコマンドおよび関連するQAは知っていて、熟練しなければなりません。

 

などのCentOS、Ubuntuの、RedHatの、Debianの、などのLinuxシステムでは、多くの種類があることができ、製品の特定のニーズに応じて適切なシステムを選択することがあります。

また、我々はまた、多くの企業で機器のリソースの提供がQAを与えるため、QAはオンデマンドでサーバーにLinuxを導入する必要があり、Linuxシステムをインストールする方法を知りたいことがあります。(Linuxシステムの学生はまた、ああ、私はまた、ソフトウェアをインストールしたい動画を見つけることができますインストールしません)

また、ここで注意すべきことの一つは、ハードウェア要件を実行するためのソフトウェアです。

明確な要件がない場合は、カードのCPU、メモリサイズ、ハードディスクドライブのサイズと数の数に関する情報など、通常ソフトウェアのマニュアル、ソフトウェア、ハードウェア要件を、クリアされます、QAは、製品開発や通信で確認することができます。

だから、ハードウェアのこの作品に、私たちは、さまざまなオペレーティングシステムを理解するために、あなたのすべてを必要とし、特にLinuxオペレーティングシステム、一般的に使用されるコマンドをすることができ、システムをインストールして、IPルーティングおよびその他の基本的なネットワークを構成することができ(ネットワークは、その後のセクションで説明した焦点を当てます) 、インストールやシステムのさまざまな一般的なサービスを設定することができます。


ソフトウェアの現在のテスト・ソフトウェアおよび関連する依存とインタラクティブソフトウェアを含みます、。

テストしたソフトウェアの現在の展開は、通常、良いサービスの展開後にインストール、あなたがいる限り、展開が完了すると、Linuxシステム、バックエンドに直接WebフロントエンドまたはAPPを介してアクセスすることができ、フロントを実行する非常に簡単であり、依存、インタラクティブソフトウェア一般的のようないくつかのサポートソフトウェア、JDK、Tomcatの、データベースようにと。

展開をインストールする方法を、私たちは+、多くに関連するオンラインチュートリアルは、いない場合、私はあなたが良いデータベースJDK + Tomcatを構築することができ、誰にでも基本的には30分の関連情報を送信することができ、自分のBaiduの上で行くことができます

 

ネットワークは、この知識は、ブラインドテスト担当者の多くかもしれません。

ネットワークは、知識の比較的大きな体、特に数多くの複雑な関係です。

所以大家可以优先学习一些跟搭建环境密切相关的网络知识,然后自己再慢慢的去渗透和深造。


一般公司网络环境,最基本的要求是交换和路由相关的知识。

比如要自己搭建一个网络拓扑,使用多台网络设备(如服务器,路由交换等中间设备,客户端等),QA需要规划和配置IP地址,部署路由和VLAN等相关配置,实现网络隔离和通信,这样才可以开展正常的业务测试;另外,对于一些常用的基础网络协议,如TCP,UDP,HTTP等,最好也能有个基本的认知,因为很多服务都是基于这些基础协议实现的,知道这些能够加深自己的理解,有利于测试的作的实现。

当然,如前面提到的,除了以上网络设备,我们还需要操作Linux的基本网络配置,如Linux IP和路由配置,Linux系统命令抓包,调试网络通信问题等,这些都是需要Linux命令和网络基础知识结合在一起使用的。


数据准备,一般指测试数据的准备。测试数据会在测试用例设计的阶段设计好,然后软件运行的时候,作为软件输入去验证软件功能。

如果是少量、正常的测试数据,可以直接通过手动方式模拟出来,如果是大量的用户数据的模拟,可以借助测试工具来构建,这个接下来的测试工具部分会再详细讲到。


测试工具,是很多测试人员都比较感兴趣而且趋之若鹜的一个知识领域。

大家执行功能测试的时候,会利用各种工具代替手工,简化和深化测试;执行压力和性能的时候,就更加需要借助测试工具模拟出来高并发、高吞吐、高持续的数据。

由此可见,工具确实很重要也很实用,纵观大量招聘公司的职位要求,基本都有“熟悉xxx测试工具”的明确要求项。

QA可以针对自己将要做的测试类型,选择合适的工具进行学习。

比如你要做的是接口测试,可以选择Jmeter或者postman;你要做压力和性能测试,可以学习Loadrunner,IxLoad或者Avalanche的使用;要模拟多种协议的流量,也可以使用Linux上常用的流量测试工具,如Hping,Curl,ab等;还有一些常用的debug和抓包工具,如fiddler,wireshark等,也可以学习并且使用起来。

总之,工具是辅助测试的好帮手,灵活使用可以让你的测试效率事半功倍。

 

当然,这里想补充一句,工具的重要性确实无可厚非,但是大家还是不要盲目崇拜,一味追求工具的学习和使用,因为工具再好也仅仅就是一个工具而已,还是需要专业测试人员应用良好的测试思路和理念去恰到其分地使用到测试中,才能将其作用发挥到极致。

讲到这里,可能会有很多人都觉得压力山大,毕竟要掌握这么多专业的知识,对任何一个人来说都不是一件易事。如果能够全部掌握固然是完美,但是对于经验没有那么丰富的人,甚至有很多从事测试多年的测试工程师,都无法自信的笃定自己可以在这所有的知识领域里游刃有余。

所以,在你成长成为一个全能型优秀测试工程之前,被面试官问到这种问题要怎么办呢?

这里,我可以分享给大家一些小技巧。

 

首先,去面试之前,先了解你要去面试的公司具体是个什么类型的公司

    其实这点,不止针对这个问题,应该是针对所有的面试,都应该先弄清楚你要去面试的公司主要业务和职位要求,有针对的去准备自己的知识点和回答问题的方向,这是面试的一个必备智慧。好,回到我们今天要讨论的环境搭建的问题,因为不同的公司所需要你具备的搭建测试环境的能力是不一样的。

    比如是一个传统的网络设备公司,如路由交换,防火墙等业务产品,他会要求你更偏向于的网络基础知识多一些,如网络拓扑的搭建和配置,相关协议的使用等,所以你可以提前做好相关知识的准备;

    如果是传统的Windows软件的公司,搭建测试环境大部分都是跟系统相关的,也就是上面我们讲到的硬件部分要求的内容。那么你就可以提前把Linux系统的相关的知识抓紧时间恶补一下;

    如果是时下最流行的互联网公司,测试web应用,PC 端APP和移动端APP软件的较多。

搭建这样的测试环境,则侧重更多的是Linux系统知识,还有相关服务的搭建以及各种工具的使用。 当然,这种分析也只是一个大概的总结,不是绝对正确也不能涵盖所有的情况,所以大家做一个参考就好。不过,先分析公司类型和业务,针对岗位需求提前做准备的这种思路,肯定是百利而无一害的。

另外,面试之前,大家一定要根据自己已有的工作经验和知识体系做好相关的梳理

大部分面试官,都会要你根据工作经验描述搭建测试环境的过程,那么你就需要在实际项目经验的基础上,结合自己的知识储备,然后再有针对性的组织语言去迎合当前面试公司的要求,总结出来一份漂亮而且能满足对方预期的答案。这么说可能会有些抽象,我们可以来看个具体实例。

面试官:你以前公司测试需要自己搭建测试环境么?你会自己独立搭建测试环境么?

你:我们原来公司都是测试人员自己搭建测试环境的,因为这样子的测试工作能比较自主独立的开展,而且后期的维护也会比较方便一些(首先,肯定的回答了问题,告知你是会搭建测试环境的,而且也表达了你认为测试人员会搭建测试环境的必要性)。

我们一般会在拿到测试需求的时候,根据需求先把准备环境好。因为我上一家公司是一家防火墙公司,有自己的设备,也有相应的web应用和APP,所以我会同时测试这些前端应用以及防火墙设备服务(先介绍一下公司的业务类型以及自己的测试的产品,以方便后面讲环境搭建的重点,这里可以根据自己的实际情况而定)。

所以准备这样的测试环境,我们会需要准备两台Linux服务器分别模拟客户端和后端服务器,搭建好测试拓扑,配通网络就可以(表明网络基础配置能力你是具备的);然后Linux系统我们一般也会自己安装,而且还要准备好相应的服务(表达出Linux系统的操作和常用服务搭建也是OK的);然后我们会用客户端模拟一些用户流量,也会在Windows上安装一些常用的测试工具来模拟用户数据来测试产品(常用测试工具也是没有问题的)。这样最初的测试环境搭建基本就完成了。

面试官:所以Linux系统你是会用的对吧?你们一般会安装一些什么服务?具体操作步骤能简单描述一下么?(他会根据你的描述挑出来他感兴趣的点来细化的问你,比如一些具体的知识细节)

你:(这个时候,就需要你回答具体的细节了,考验你的技术硬核能力了。当然,如果遇到自己不是很清楚的,一定要避重就轻,聪明的引导面试官问你擅长的领域,比如“这个我不是太了解,但是我用过另外一个xxx,这个我比较熟悉”) ......

总而言之,面试官问你这样的问题,一方面是想考察你的技术能力,另一方面也想考察你的表达能力。

所以,大家可以对照一下上面列出来的知识点,如果感觉自己的知识储备不足,可以趁面试之前好好补习一下;

如果发现很多知识领域自己都有涉猎,但是回答的时候不知道从哪里开始,那就根据自己的经验和实际情况,时常总结和沉淀,梳理自己的知识体系。记住,毫无准备的面试,成功率都不会太高;善于总结积累的人,运气都不会太差!

 

おすすめ

転載: www.cnblogs.com/lz1996/p/11576338.html