11

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

私たちのチームは現在 4 人の開発者で構成されており、主に Cruisecontrol、Flex、ASP.NET、IIS、MSSQLServer、および WebORB を扱っています。管理職にテスターを雇うように促しているが、ソフトウェア開発においてテスターは普通なのだろうか。そう:

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

thx、リーベン・カルドエン

ps: Thx、Vinay、ユニット テストはありますが、実際には、ユニット テストはテスターがカバーできるものをカバーできません。

4

10 に答える 10

7

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

はい。誰かが、何かが十分にテストされたときを評価し、回避策があるためにどのバグを修正する必要があるか、または出荷できるかを判断する責任を負う必要があります。

2)テスターはテスト作業のみを行う必要がありますか?開発者またはグラフィックデザイナーに週の半分をテストすることを期待できますか?

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

3)優れたテスターはどこにありますか(ソフトウェア開発テストの学位はないと思います)?

どこかに学位があるに違いない。私たちが持っているテスターの多くは、大学での最終学年に戻る前に、業界で1年を過ごしているコンピューターサイエンスの大学生です。

4)すべてをテストするのは技術チームリーダーのプロジェクトマネージャーの仕事ですか?

必ずしも。チームの大きさにもよりますが、小さければそうです。誰かが倍増して両方の役割を果たすことができます。しかし、より大きなプロジェクトの場合、これらは異なる人々です。


覚えて。テスターを持つことは、開発者/プログラマーがコードを記述したり単体テストを作成したりするときにコードをテストしない言い訳にはなりません。開発者には、優れた製品を開発する責任があります。テスターがバグを見つけられなかったと非難することで作成したバグの言い訳を決して作ろうとしないでください。

于 2009-02-08T12:10:48.883 に答える
3

Joel テストの 10 番目の質問です。

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

あなたが知る必要があるすべてを教えてくれるはずです。:)

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

1-10人を超える顧客がいる場合の製品開発について:そうです。必要不可欠。大規模プロジェクトでも同じです。小さいときはすくい取ることができますが、一定のサイズを超えると、世界中の100人の顧客を更新する(たとえば)苦痛は、1人のテスターの給与を上回ります。

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

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

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

明らかに、役割間にリークがあります。場合によっては、全員が何らかのテストを行う必要がありますが、これは、日ごとまたは週ごとではなく、RTMの直前に最大のカバレッジを取得するためのものです。

単体テストは論理エラーをキャッチするので素晴らしいスタートですが、クレイジーなユーザーインタラクションや、アプリが72時間以上実行された後にのみ発生する問題をキャッチすることは期待できません-単体テストは決してこれらをキャッチしません。あなたの顧客はそうするでしょう、しかしそれからあなたは長い間顧客を持たないでしょう:)

ところで、私は「そこにいた、それをした」。私は顧客をテストし、同じ製品のさまざまな段階(大企業が購入したスタートアップVR)で適切なテスターを雇いました。テスターができれば、この製品はかなり堅実になり、顧客も​​喜んでいました(さらに、世界中の400のサイトに小さな重要なパッチを展開するのは困難です。出荷前に入手してください!)

于 2009-02-08T12:32:21.930 に答える
2

スペシャリストの価値を決して過小評価しないでください。

テスターではないほとんどの人、特に開発者は、テストを楽しんでおらず、うまくやれません。グラフィック デザイナーや開発者に時間の半分をテストに費やすように依頼した場合、せいぜい優れたデザイナー/開発者の出力の 50% を失い、貧弱で高価なテスターの 50% を獲得することになります。最悪の場合、彼らはより良い仕事先を見つけてしまうので、彼らを完全に失うことになります。

開発者の場合、通常、コードに近すぎて客観的にテストすることができません。彼らは、内部の知識に基づいて推測を行います。開発者が自分のコードをテストするのは特に悪いことです。

プロジェクトマネージャーは、すべてがテストされていることを確認する責任がありますが、自分でテストするべきではありません. 彼らには十分な時間や必要な専門知識がありません。

私は以前、コンサルティング会社で働いていました。専門のテスターがいなかったので、代わりに、現在プロジェクトのないコンサルタントを使用していました。誰もテストの専門知識を持っておらず、その結果、彼らのほとんどはあまり優れたテスターではありませんでした。「システムが機能しなくなった」などのバグ レポートや、私の個人的なお気に入りである、アプリケーションの遅さを示すスクリーンショット (すばやく実行されているアプリケーションのスクリーンショットも同じように見えます) などのバグ レポートが寄せられます。彼らはバグ追跡システムも悪用します (または、自作の Excel スプレッドシートを優先して完全にバイパスします)。悪夢でした。

于 2009-02-08T14:08:26.040 に答える
2

どちらの場合もテスターが必要です。開発がテスト駆動型であっても、テスターの役割はプロジェクトの外部要件に焦点を当てていることが多いと思います。プロジェクトは、要件を満たす期待される製品を提供しますか?

大企業の環境では、コール センターやカスタマー サービスを担当する優れたテスターの宝庫があることがよくあります。彼らは多くの場合、ビジネス プロセス、問題、および要件について非常にしっかりと理解しています。

このような状況では、バックエンド システムでも実際のテスト ケースを構築する作業をテスターに​​任せることがよくあります。これらは、開発者が作成する統合テストで使用されることもあります。開発者がテスターに​​、CI ベースの自動テストをテストするためのデータ/シナリオを要求できるようにすることで、大きな成功を収めました。

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

于 2009-02-08T10:51:27.983 に答える
2
  1. ある程度のサイズから、絶対に (約 10 人の開発者と言えます)。

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

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

  4. いいえ、特にプロジェクトが大きくなると。

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

于 2009-02-08T10:52:46.450 に答える
2

チームにテスターを配置することをお勧めします。私たち開発者は、テストをしてもそれほど多くの欠陥を見つけることはできませんが、テスターに​​よってテストされると、欠陥をリリースする前に非常に多くの欠陥をキャッチします。

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

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

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

  3. わからない

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

于 2009-02-08T11:56:19.270 に答える
1

テスターがテーブルに持ち込む (できる) のは、製品に対する新鮮な目だと思います。ソフトウェアを実行するときは、UI インタラクションによるものであろうと、自分が作成したクラスの利用であろうと、幸せな道をたどる可能性が高いことがわかりました。何かがどのように機能するかを知っている場合、物事を間違った方法で実行したり、意図しない方法で製品を実行したり、その機能を知っている人が誰もしないような順序で物事を試したりするのは少し不自然です.行う。

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

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

  2. 多分。社内で製品のクロステストを行っていますが、別のテスト グループも設けています。私たちは(社内で)問題の大部分を見つける傾向がありますが、フルタイムのテスターは、私たちが決して見つけられなかったものを見つけることがあります。開発とテストに時間を割く場合、テストは後付けではないことを明確にする必要があります。もし私が自分の開発に過重な負担を負っていて、あなたの製品をテストするのに必要な時間を費やすのに苦労しているなら、私はテスターとしてそれほど効果的ではないでしょう. 開発者がテスターを兼ねる場合は、時間管理が不可欠です。

  3. わからない。組織内の一部のグループ (たとえば、IV および V グループ) は、テストのみを行います。私は、ソフトウェアを書くビジネスや欲望を持っていなくても、製品の全体をテストできる人がたくさんいると思います。私の最後の仕事で最高のテスターの何人かは、コードをまったく書いていませんでした。

  4. プロジェクトによって異なりますが、一般的にはノーと言えます。責任は私の店に広がっているものです。リーダーはすべてのテストに責任を負いません。私たちは皆責任があります。

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

于 2009-02-08T14:26:11.200 に答える
1

誰もがテスターが必要だと言いますが、それは政治的に正しい答えです。しかし、テスターは、品質保証ツールボックスで利用できる多くのツールの 1 つにすぎません。テスターなしで完全に優れたソフトウェアを出荷できます。たとえば、Stackoverflow にはテスト部門があるのだろうか。

テスターは、開発者が作成したコードの品質を測定します。しかし、品質測定を利用できるからといって、品質が向上するわけではありません。

テスターは無料ではありません。開発を変更して、顧客ではなくテスト チームに提供する必要があります。これは、顧客と開発者の間の断絶につながる可能性があります。テスターは、顧客が気にすることができないバグを見つけ、顧客にとって非常に重要なバグを無視する可能性があります。さらに、別のテスト環境を作成して維持する必要があります。

優れたテスターは、開発の改善、特にリリースの円滑化に役立ちます。しかし、走行距離は異なります。

PS 大企業では、テスターは不可欠です。テスターは責任転嫁を可能にします。バグが顧客に損害を与えると言う -> 経営陣は怒っている。この時点で、エグゼクティブはあなたのチームに厄介なことをする準備ができています. テスト チームがあれば、責任をテスト チームに転嫁でき、テスト チームは責任を自分に転嫁できます。妥協案が展開されます。新しいプロセスを導入し、テスト チームはより多くのテスターを雇い、経営陣は自分が個人的に改良したものだと言います。

于 2009-02-09T14:47:54.917 に答える