技术初创公司如何进行软件测试?


10

我看过很多研究文章和技术博客,它们夸耀了软件测试的好处。我对此深信不疑。但是,由于所有软件测试研究都是由大型软件公司进行的,因此我认为它们并不真正适用于初创公司。与大型软件公司相比,初创公司具有不同的需求和约束。

因此,这就提出了问题。科技创业公司应该编写自动化测试吗?如果是这样,它们是否以与大型软件公司相同的方式进行?(烟度测试,回归测试等)。最好是可以参考一些与此主题相关的研究文章。因为我自己找不到任何文章。

(我必须承认,即使我仍处于职业生涯的初期,但我还没有看到一家认真致力于编写自动化测试的初创公司)


5
我加入了一个10岁以下的小型初创企业,而且我是第一个真正添加夜间运行测试的人。不是因为我是个天才,而是这是经理(也是编码员)第一次意识到是时候添加他们了,他们终于有了人手。分级计划通常必须先生存,然后再完善。当然,该启动由非技术人员启动,因此必须“插入”此功能。
工作

5
10年的创业公司...?
pap

迪尔伯特说:“如果业内每个人都采用最佳实践,那么最佳实践就变得平庸。” 我想这是真的,呵呵。
ming_codes 2011年

已有

Answers:


11

应该做什么和我们实际上有时间要做之间总是存在冲突。是的,许多创业公司放弃了测试驱动的开发和自动化测试,以节省一些时间来启动和运行项目。

社交网站和移动应用程序公司现在是最大的泡沫,它们的竞争异常激烈。有时4个月上线与5个月上线之间的差异意味着您输了。

上市时间是关键,然后如果成功,那就是扩展的时候,那么将有大量时间将未经测试的废话软件重构为值得的东西。


但是,上市时间只是个神话。进入市场的较晚进入者可以炸毁现有的参与者:Friendster> myspace> facebook。
Joeri Sebrechts

@JoeriSebrechts我读了一篇有趣的文章,介绍软件的发展及其与后期进入者成功之间的关系。有一些变量在起作用,采用类似解决方案的后进入者的安全期等于软件用户群从早期采用者转换为普通用户的时间。当然,类似的解决方案意味着与进入市场的第一个进入者相比具有相似且没有突破性的特征(例如,与MySpace相比,Facebook具有突破性)。一旦达到临界数量的早期采用者,一般用户便开始迁移。
maple_shaft

12

软件测试不是一种信仰。这是一个非常好的主意。

您说您现在没有编写测试的人手吗?好的。从现在起的6周内,您是否有足够的人力来发现导致应用程序崩溃的错误,如果进行了适当的测试,这些错误将立即被发现?

测试太多会减慢开发速度。太少的测试也会使它变慢。您必须找到合适的平衡点,通常很难分辨出平衡点在哪里。而且这都不是大型或小型公司特有的。


4

多年来,当我在小型公司和初创公司工作时,我一直误以为我“没有足够的时间为我的代码编写单元测试”

当我确实编写测试时,它们是肿的,沉重的东西,这仅鼓励我认为我应该只在知道需要它们时才编写单元测试。

最近,我被鼓励使用“ 测试驱动开发”,我发现它是一个完整的启示

我现在坚信我“没有时间 编写单元测试”

以我的经验,通过考虑测试进行开发,最终会得到更简洁的界面,更集中的类和模块,以及通常更多的SOLID可测试代码。

每次我使用没有单元测试的旧代码,而不得不手动测试某些东西时,我一直在想:“如果此代码已经具有单元测试,这将更快。” 每次我不得不尝试为高耦合的代码添加单元测试功能时,我一直在想:“如果以非耦合的方式编写,这将变得更加容易”

如果我多年来发现的一件事,如果您是在初创公司工作,则需要敏捷,而不仅仅是在软件开发方法论意义上。对我而言,TDD是一个重要的工具,它可以使您开始和保持敏捷


1

这与谁应该进行软件测试无关,软件测试是一种软件开发理念。软件测试为良好的软件质量奠定了基础,在初创企业中,当大型公司的收购迫在眉睫时,软件质量是一项奖励;)


1

最佳实践遍及整个行业,无论您是将奶奶用作网站还是为人造卫星创建指导系统。那些想自认为专业的人应该始终跟随他们,这就是为什么他们被称为BEST做法。


您可能会惊讶地发现,最佳实践并没有涉及整个行业。thedailywtf.com
Gary Willoughby

@Gary在理论上更是一个行业范围内的一部分,或者是这个乌托邦世界的一部分,那里的项目具有现实的时间表,而html具有语义含义,管理人员承认他们缺乏能够帮助他们做出更好决策的技术知识...
Ryathal 2011年

“最佳实践”通常意味着像其他人一样做事,产生平均结果。一般的老牌公司表现不错,但是普通的科技创业公司还远远不够崩溃。
David Thornley

1
@DavidThornley-不,我认为“最佳实践”是大多数人认为应该做的事情,无论他们是否有时间,精力或管理层的认可。* 8')
Mark Booth

@Mark Booth:通常,当我听到这句话时,就表示我所说的话。YMMV,当然。但是,Ryathal指的是项目具有现实时间表的世界,而这在业务中不一定是可行的。将产品推迟两个月推出可能是无关紧要的或致命的(特别是对于一家初创公司而言,可能有耗尽金钱的危险),而且令人烦恼的是,经常有一个强有力的商业案例证明要尽快获得大部分可行的产品。我发现很难相信会给公司带来厄运的“最佳实践”。
David Thornley

1

是的,初创公司有时会偷工减料,并不暗示适当的测试。有时这是适当的(对于足够小的项目或在时间/金钱至关重要的情况下)

但是,这并不是创业公司专有的。我们的供应商之一,IT承包商甚至拥有测试环境。一切都直接进行,这是一家大型的跨国软件公司(吓死了!)


1

应该吗 是。他们是否在实践中这样做,而不是经常这样做。

给出的最典型的原因是缺乏资源,其中包括开发人员时间,聘请专用或兼职测试人员的成本,建立测试环境的成本等。您甚至可以在大型公司环境和小型初创企业中找到这些借口。

从另一种角度来看,测试是从开发计划中削减的最容易的事情之一,尤其是在产生可见结果的时间压力和/或成本压力非常紧的情况下。除了详细的设计工作外,许多经理还认为它“繁琐”,他们首先说的是“削减工作量,以便我们可以进行日程安排和预算工作”,然后是“为什么不编码?”。

在某些公司中,会有人进行推送测试。通常,这将是雇用的开发人员,通常,他们将是有经验的人,并且可能是在公司中拥有某种财务股份的人。一个以这种“ DNA”开头的公司可能会从一开始就进行测试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.