質問

私の会社ではソフトウェア製品を開発しています。これまではテスターがいなかったので、基本的には開発者がテスターで、もちろん顧客とユーザーも(良くないですが)。

私たちのチームは現在 4 人の開発者で構成されており、主に Cruisecontrol、Flex、ASP.NET、IIS、MSSQLServer、WebORB を使用して作業しています。私は経営者にテスターを雇うよう勧めていますが、ソフトウェア開発においてテスターは普通にいるのでしょうか。それで:

  1. 製品(または大規模プロジェクト)開発にはテスターが必要ですか?
  2. テスターはテスト作業のみを行う必要がありますか?それとも、開発者やグラフィック デザイナーが週の半分をテストすることを期待できますか?
  3. 優秀なテスターはどこで見つけられますか (ソフトウェア開発テストには学位はないと思います)。
  4. すべてをテストするのは技術チームリーダーであるプロジェクト マネージャーの仕事ですか?

thx、リーヴェン・カルドエン

ps:すみません、Vinay さん、単体テストはありますが、確かに単体テストではテスターがカバーできるものはカバーできません。

役に立ちましたか?

解決

1)製品(または大規模なプロジェクト)の開発に必要なテスターはありますか?

はい。誰かが何かを十分にテストされたときに評価し、固定必要か、回避策があるので、出荷することができたバグをワークアウトのための責任を取るために持ってます。

2)テスターは唯一のテスト作業を行うべきでしょうか?あなたは週の半分をテストするために、開発者やグラフィカルデザイナから期待できますか?

テスターは、多くの場合、顧客サポートの作業を行うかの要件を開発するために、顧客と協力します。テスターは...顧客のための内部の声として機能することができ、彼らは顧客と対話する場合、彼らは顧客が望むことを知っている開発のうち、十分に適した品質の製品を取得するための責任感を感じる必要があります。

3)どこで(私はソフトウェア開発のテストの学位がないと仮定)良いテスターを見つけることができますか?

私はどこかに度がある賭けます。我々が持っているテスターの多くは、彼らがユニに戻って彼らの最後の年のために行く前に、業界で年を行っているコンピュータサイエンスの大学の学生です。

4)それはすべてをテストするための技術的teamleadのプロジェクトマネージャーのタスクですか?

必ずしもそうではありません。これは、チームはそれは小さなだ場合は、[はい、誰かが倍増し、両方の役割を行うことができ、どのように大きな依存します。大きなプロジェクトでは、しかし、これらは別の人です。

<時間>

を覚えておいてください。のテスターを持つことは、開発者/プログラマ、彼らはそれを書くか、ユニットテストを作成してコードをテストしないための言い訳にはなりません。開発者はまだ良い製品を開発するための責任があります。彼らは、彼らがそれを見つけていないため、テスターのせいで作成されたバグのための口実を作るしようとしないでください。

他のヒント

これは、ジョエルテストに質問#10です。

http://www.joelonsoftware.com/articles/fog0000000043.htmlする

あなたが知る必要があるすべてを教えてください。 :)

チームにテスターを入れたほうがよいでしょう。私たち開発者はテスト時にそれほど多くの欠陥を見つけることはできませんが、テスターがテストすると、欠陥をリリースする前に非常に多くの欠陥を発見します。

単体テストケースも用意しておいた方がよいでしょう。新しい機能を開発するときは、テスト ケースを更新して実行するだけです。

テスターは、両方の場合に必要です。あなたの開発はテスト駆動であっても、私はテスターの役割は、多くの場合、プロジェクトの外部の要件に焦点を当てて考える - プロジェクトは要件を満たすだろう期待される製品を提供していますか?

私は、大規模な企業環境で使用すると、多くの場合、コールセンターや顧客サービスを行う者で良いテスターの金鉱を持っていることがわかります。彼らは多くの場合、ビジネスプロセス、問題や要件が非常にしっかりと理解を持っています。

私たちは、多くの場合、テスターはあまりにもバックエンドシステムに実際のテストケースを構築で動作させ、時にはこれらも、開発者が記述した統合テストで使用されてきた、このような文脈では。我々は、開発者がをさせることで大きな成功を収めてきたCIベースの自動テストをテストするためのデータ/シナリオののテスターをお願いします。

あなたはの他の役割は、テストへの参加を期待することができますを。私は実際にの皆が責任を負うことはできません誰もが品質とテストに集中するべきだと思いますが、残念ながらます。

  1. ある程度の規模からは、絶対にそうです (開発者は 10 名程度だと思います)。

  2. テスターはビルドや統合作業を行うこともできます。小規模なグループでは、他にテストを行う人がいないため、開発者がテストを行う必要があります。

  3. 良い質問。開発者の中にはテストが好きな人もいるかもしれません。

  4. いいえ、特にプロジェクトが大きくなる場合はそうです。

私は、約 50 人のグループで、大規模なプロジェクト (数百人の開発者) に取り組んできました。私たちのグループには、フルタイムの 2 ~ 3 名と多数の学生からなる統合およびテスト グループがありました。

  1. 大規模では、そうです。ただし、テストにはさまざまな方法や種類があります。これらには、ユーザー、回帰、単体、および統合テストが含まれます。できる限り自動化してみてください。Selenium (IDE)、Molydbenum、使用シナリオ、アジャイル開発を確認してください。

  2. 開発者やデザイナーは、合格基準を満たしているかどうかを判断する必要がありますが、自分の作品をテストする場合、それは受験する前に自分で試験を作成するようなものです。私の意見では、開発者が他の開発者の作品をテストすることはそれほど良いことではありません。

  3. 分からない

  4. プロジェクトマネージャーには厳密なテストをする時間がないと思います。これは実際には、勤勉であることを知っており、プロジェクト マネージャーと対話できる専任のテスターの仕事です。

  1. 製品(または大規模プロジェクト)開発にはテスターが必要ですか?
  2. テスターはテスト作業のみを行う必要がありますか?開発者やグラフィカルなデザイナーから週の半分をテストすることを期待できますか?
  3. 良いテスターはどこにありますか(ソフトウェア開発テストには程度はないと思います)。
  4. 技術チームのプロジェクトマネージャーがすべてをテストするタスクですか?

1 - 顧客が 10 人を超える場合の製品開発について:もちろん。不可欠。大規模プロジェクトでも同様です。小さいうちはケチることもできますが、ある程度の規模を超えると、(たとえば)世界中の 100 人の顧客を更新する手間が、テスター 1 人の給料を上回ることになります。

2 - はい、サポート作業と重複する部分もあります。開発者は基本的なテストを行う必要があります - それは機能しますか?- ただし、徹底的なエンドツーエンドの奇妙なユースケースタイプのテストを実行するかどうかはテスターの責任です。そんなことをするのは開発者の時間の無駄だと思います。グラフィック デザイナーはテストすべきではありません。まあ、ユーザー テストは行うと思いますが、それは開発者に届く前であってもです。

3 - 開発者の中には優れたテスターを作る人もいます。サポート担当者の中には優れたテスターに​​なる人もいます。それ以外は、ランダムに見つけてください。宣伝する。等学位はありませんが、衒学的で、自分自身を貫くことができ、コードの各行がどのように機能するかよりも、最終環境がどのように連携しているかをよく知っている人が適しています。

4 - いいえ。PM はプロジェクトをまとめ、テスターや開発者などを調整します。技術リーダーは技術チームを率いるべきです。テストではありません。

明らかに、役割間に漏れがあります。場合によっては、全員が何らかのテストを行う必要がありますが、これは RTM の直前に最大限の範囲をカバーするためであり、日ごとまたは週ごとに行うものではありません。

単体テストはロジック エラーを検出するため、開始には最適ですが、クレイジーなユーザー インタラクションや、アプリが 72 時間以上実行された後にのみ発生する問題を検出することは期待できません。単体テストでは、これらのエラーは決して検出されません。 。あなたの顧客はそうするでしょうが、そうすれば長い間顧客はいないでしょう:)

ところで、私は「そこに行って、それをやった」ことがあります。私は顧客を対象にテストを行い、同じ製品のさまざまな段階(スタートアップ製品と大企業が購入した製品)で適切なテスターを配置しました。テスターができてからは製品がよりしっかりしたものになり、顧客も​​より満足しました (さらに、小さな重要なパッチを世界中の 400 サイトに展開するのは困難です。出荷前に見つけてください!)

専門家の価値を過小評価することはありません。

テスター、特に開発者ではありませんほとんどの人は、テストを楽しんでいないとうまくそれを行うことはありません。あなたがグラフィックデザイナーや自分の時間のテストの半分を過ごすために開発を依頼した場合、最高の状態であなたは良いデザイナー/開発者の出力の50%を失い、貧しい、高価なテスターの50%を得ることができます。彼らは仕事にどこかに優れていますので、最悪の場合、あなたがそれらを完全に失うことになります。

開発者の場合、彼らは通常、客観的にそれをテストすることができるようにするコードに近すぎます。彼らは、内部の知識に基づいて仮定を行います。独自のコードをテストし、開発者が特に悪いです。

プロジェクトマネージャは、すべてがテストされているが、彼らはそれ自体をやってはならないことを保証する責任を負うべきです。彼らは十分な時間や必要な専門知識を持っていません。

私は以前コンサルティング会社で働いていました。私たちは、何の専門家テスターがなかったし、代わりにコンサルタントがプロジェクトなしで現在だった方の使用します。それらのいずれも、テストの専門知識を持っていたし、結果としてそれらのほとんどは非常に良いテスターはありませんでした。それがいかに遅い示すアプリケーションのスクリーンショットは、(すぐに実行中のアプリケーションのスクリーンショットは、何が違うのを見ていないでしょう):私たちは、「システムはもう動作しません」または私の個人的な好みのようなバグレポートを取得したいです。彼らはあまりにもバグ追跡システムを乱用(あるいは自分自身の自家製のExcel spreadshhetsの賛成でそれを完全に迂回する)でしょう。それは悪夢だった。

テスターがもたらすもの(できるもの)は、製品に対する新たな視点だと思います。ソフトウェアを実行するとき、それが UI インタラクションを介したものであれ、自分が作成したクラスの利用であれ、私は幸せな道をたどる可能性が高いことがわかりました。何かがどのように機能するかを知っているとき、間違った方法で操作したり、意図されていない方法で製品を操作したり、どのように機能するかを知っている人がやらない順序で物事を試したりするのは少し不自然です。する。

あなたの質問に対する私の答えは次のとおりです。

  1. はい。テストは必須であるため、何らかのテスターが必要です。通常、単体テストでは多くの低レベルの問題が検出されますが、ユーザビリティ テストと「要件」テストによって、それが光沢のあるパンフレットの主張を満たしているかどうかが判断されます。ソフトウェアが「X」を実行すると主張する場合、テスターの仕事の一部は、それが本当に「X」を実行するかどうかを確認することです。テスターに​​、私が普段使用していないプラットフォームでいくつかの問題を発見してもらいました。それらの問題を早期に発見することは良いことです。

  2. 多分。当社では社内で製品の相互テストを行っていますが、別のテスト グループも設けています。私たちは問題の大部分を (社内で) 見つける傾向がありますが、フルタイムのテスターは、私たちがおそらく見つけられなかった問題を見つけることがあります。開発とテストに時間を分割する場合、テストは後回しではないことを明確にする必要があります。開発作業に多大な負担がかかり、製品のテストに必要な時間を費やすのが難しい場合、テスターとしてはそれほど有能ではありません。開発者がテスターを兼ねる場合は、時間管理が不可欠です。

  3. わからない。組織内の一部のグループ (IV グループや V グループなど) はテストのみを行います。ビジネスがない、またはソフトウェアを作成したいわけではないが、製品を実際にテストすることはできる人がたくさんいるのではないかと思います。私の前職での優秀なテスターの中には、まったくコードを書かなかった人もいました。

  4. プロジェクトによって異なりますが、一般的にはノーと言うでしょう。私の店では責任が分散されています。リーダーはすべてのテストに責任を負いません。私たち全員に責任があります。

とにかく、それは私の2セントです。

みんなはテスターが必要とされていると言うだろう、それは政治的に正しい答えです。しかし、テスターは品質保証ツールボックスで利用可能な多くのツールのひとつです。あなたはテスターなしで完全に罰金ソフトウェアを出荷することができます。例えば、私はstackoverflowのテスト部門を持っている場合だろうか?

テスター意志の措置のあなたの開発者が生産するコードの品質。しかし、品質測定の利用可能性は、品質を向上させるために何もしません。

テスターは、無料で付属していません。代わりに、顧客のテストチームに提供するために開発を変更する必要があります。これは、顧客と開発者間の切断につながることができます:テスターは、顧客が気にし、顧客にとって非常に重要なバグを無視することができなかったバグを見つけるかもしれません。また、あなたは別のテスト環境を作成し、維持する必要があります。

良いテスターは、あなたがより良い開発を支援し、特によりスムーズにリリースします。しかし、あなたの走行距離は異なります。

P.S。大企業では、テスターが不可欠である:彼らは非難のシフトを可能にします。バグが顧客の危害が発生すると言う - >幹部が動揺しています。この時点で、幹部は、あなたのチームに嫌なものを行う準備ができています。テストチームで、あなたはあなたに戻って非難をシフトテストチームに責任をシフトすることができます。妥協がロールアウト:あなたは、新しいプロセスを導入し、テストチームは、より多くのテスターを雇い、そして幹部は、彼が個人的に改善ものだと言う。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top