技術系新興企業でのソフトウェアテストはどのように行われますか?


10

ソフトウェアテストの利点を誇る多くの研究記事や技術ブログを目にしました。私はそれを確信しました。しかし、すべてのソフトウェアテスト調査は大規模なソフトウェア会社によって行われているため、スタートアップに実際に適用されるとは思いません。新興企業には、大規模なソフトウェア会社とは異なるニーズと制約があるためです。

したがって、これは疑問を投げかけました。テック系スタートアップは自動テストを書くべきか?もしそうなら、それらは大手ソフトウェア会社と同じ方法で行われますか?(スモークテスト、回帰テストなど)。このトピックに関するいくつかの研究記事を参照できるのが最善です。自分で見つけることができなかったためです。

(私はまだキャリアの早い段階ですが、自動テストの作成に真剣に取り組んでいるスタートアップを見たことはありません)


5
私は10年間の小さな新興企業に参加し、実際に夜間に実行されるテストを追加したのは私が最初でした。私が天才だったからではありませんが、マネージャー(およびコーダー)がそれらを追加するときが来たので、ついに彼らがマンパワーを持っていることを認識したのはこれが初めてでした。多くの場合、戦略は最初に生き残り、後で完全なものにしなければなりません。確かに、この新興企業は技術者以外の人によって開始されたため、この機能を「組み込む」必要がありました。
ジョブ

5
10歳のスタートアップ…?
11:36に

ディルバート氏は、「業界のすべての人がベストプラクティスを採用すれば、ベストプラクティスは平凡になる」と語った。確かにそうだと思いますね。
ming_codes、2011

10年前のスタートアップ...彼らはJavaを使用している必要があります:3年間の設計+ 7開発:)冗談です(私はJava開発者です)
nuvio

回答:


11

何をすべきかと私たちが現実的に時間を持っているものとの間には常に矛盾があります。はい、多くの新興企業は、プロジェクトを立ち上げて実行するために、時間を節約するために、テスト駆動開発と自動テストを忘れています。

ソーシャルネットワーキングサイトとモバイルアプリ会社は現在大きなバブルであり、彼らは激しい競争を繰り広げています。場合によっては、4か月と5か月でライブを開始することの違いは、あなたが失うことを意味します。

市場投入までの時間が重要であり、成功した場合はスケーリングする時間です。テストされていないがらくたのテストされていないソフトウェアを価値のあるものにリファクタリングする時間は十分にあります。


しかし、市場投入までの時間は少し神話です。市場への遅い参入者は、既存のプレイヤーを吹き飛ばす可能性があります:フレンズスター> myspace> facebook。
Joeri Sebrechts、2011

@JoeriSebrechts私は、ソフトウェアの進歩と、それが後半の参入者の成功とどのように関連しているかについての興味深い記事を読みました。さまざまな要素があり、同様のソリューションを使用した後期参入者の安全な期間は、ソフトウェアのユーザーベースがアーリーアダプターから一般ユーザーに変身する時間と同じです。もちろん、同様のソリューションは、市場への最初の参入者と比較して、画期的ではない機能を意味します(たとえば、FacebookはMySpaceと比較して画期的でした)。アーリーアダプターのクリティカルマスに達すると、一般ユーザーが移行を開始します。
maple_shaft

12

ソフトウェアのテストは宗教ではありません。とても良い考えです。

あなたは今テストを書く人力がないと言いますか?いいよ。今から6週間後、適切なテストを実施していればすぐに発見されたはずの、アプリケーションをクラッシュさせるバグを見つけるためのマンパワーはありますか?

テストが多すぎると、開発が遅くなる可能性があります。テストが少なすぎると、速度が低下する可能性もあります。適切なバランスを見つける必要がありますが、通常、それがどこにあるのかを見分けるのは困難です。そして、これは大企業や中小企業に固有のものではありません。


4

何年もの間、中小企業や新興企業で働いていたとき、「自分のコードの単体テストを書くのに十分な時間がなかった」という誤解を受けていました

私がテストを書いたとき、それらは肥大化した重いものであり、ユニットテストが必要であることがわかっているときだけ私は決してユニットテストを書くべきだと考えるように私を励ましただけでした。

最近、私はテスト駆動開発を使用するように勧められました、そしてそれが完全な啓示であることがわかりました。

私は今だしっかりと私は確信していること「に時間を持っていない ではない 、ライトユニットテストを」

私の経験では、テストを念頭に置いて開発することで、よりクリーンなインターフェース、より焦点を絞ったクラスとモジュール、そして一般により多くのSOLIDでテスト可能なコードが得られます。

ユニットテストのないレガシーコードで作業し、手動で何かをテストする必要があるときはいつでも、「このコードにユニットテストがすでにあると、はるかに速くなる」と考え続けます。結合度の高いコードに単体テスト機能を追加する必要があるたびに、「分離された方法で記述されていれば、これはずっと簡単になる」と考え続けます。

私が長年にわたって発見したことが1つある場合、新興企業で働いている場合は、ソフトウェア開発方法論の意味だけでなく、俊敏である必要があります。私にとってTDDは、アジャイルの開始と維持を可能にする重要なツールです。


1

ソフトウェアテストを誰がやるべきかではなく、ソフトウェアテストはソフトウェア開発の哲学のようなものです。ソフトウェアテストは、優れたソフトウェア品質の基礎を設定し、スタートアップでは、大企業による買収が間近に迫っている場合、ソフトウェア品質はボーナスとなります;)


1

おばあちゃんをウェブサイトにするか、衛星の誘導システムを作成するかに関係なく、ベストプラクティスは業界全体です。彼らは常に彼ら自身を専門家であると考えたい人たちによって続かれるべきです、それが彼らがベストプラクティスと呼ばれる理由です。


ベストプラクティスが業界全体に及ぶわけではないことを聞いて驚くかもしれません。thedailywtf.com
ゲイリーウィロビー

... @Garyその業界のより多くの幅広いプロジェクトが現実的なタイムラインを持っているとhtmlそのユートピア世界の理論、または一部が、セマンティックな意味を持っており、管理者は、彼らは彼らがより良い意思決定を助ける技術的な知識が不足している認める
Ryathal

「ベストプラクティス」とは、通常、他の人と同じように行動し、平均的な結果を生み出すことを意味します。確立された平均的な会社はかなりうまく機能しますが、平均的な技術系新興企業は、目を見張るほどクラッシュするほどではありません。
David Thornley、2011

1
@DavidThornley-いいえ、時間、エネルギー、経営陣の承認を得ているかどうかにかかわらず、「ベストプラクティス」はほとんどの人がやるべきだと信じていることと思います。* 8 ')
Mark Booth

@Mark Booth:通常、このフレーズを聞いたとき、それは私が言ったことを意味します。もちろんYMMV。ただし、Ryathalはプロジェクトに現実的なタイムラインがあり、ビジネスで必ずしもそれが可能であるとは限らない世界を指します。製品が2か月遅れて発売されることは、重要ではないか致命的である可能性があり(特に、資金不足の危機に瀕している可能性のある新興企業にとって)、不快なことに、ほとんどの場合、すぐにうまくいくものを入手するための強力なビジネスケースがあります。会社を破滅させる「ベストプラクティス」を信じるのは難しいと思います。
David Thornley、2011

1

はい、スタートアップは時々手を抜いて、適切なテストを意味しません。時々これは適切です(十分に小さいプロジェクトの場合、または時間/お金が重要な場合)

ただし、これは新興企業に限定されるものではありません。サプライヤの1つであるIT請負業者には、テスト環境さえあります。すべてが生きるために直接行われ、これは大規模な多国籍ソフトウェア会社です(怖い!)


1

彼らはすべきですか?はい。必要な頻度ではなく、実際にそうします。

与えられる最も一般的な理由は、開発者の時間、専用またはパートタイムのテスターを雇うコスト、テスト環境をセットアップするコストなどを含むリソースの不足です。小規模な新興企業だけでなく、大企業の環境でもこれらの言い訳を見つけることができます。

別の見方をすると、テストは開発スケジュールから切り取るのが最も簡単なことの1つであり、特に目に見える結果を生み出すために非常に厳しい時間のプレッシャーやコストのプレッシャーがある場合は特にそうです。詳細な設計作業に加えて、多くのマネージャーによって「ふわふわ」と見なされており、最初に「スケジュールと予算を作成できるように削減する」と言い、次に「コーディングしないのはなぜですか」と言います。

一部の企業では、プッシュテストを行う人がいます。通常、これは採用される開発者であり、通常は経験のある人であり、おそらく会社で何らかの金銭的利害関係を持つ人です。この「DNA」で始まる企業は、おそらく最初からテストを行うでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.