网站自适应手机怎么,百姓网找房子租房,企业网站通常包含的栏目,百度关键词排名批量查询15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test)#xff0c;你怎么看#xff1f; 我猜想和踢足球类似#xff0c;还是那几个原因#xff1a; 人太牛#xff1a; 不世出的天才#xff0c;例如高德纳写书时发现排版软件不好用#xff0c;就自己写了一个。也没听… 15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test)你怎么看 我猜想和踢足球类似还是那几个原因 人太牛 不世出的天才例如高德纳写书时发现排版软件不好用就自己写了一个。也没听说他为这个软件项目请了什么独立测试人员。对了他不读Email有秘书帮他处理这些事——这也是一种分工 有些软件工程师是在后台钻研和开发高难度的算法或者做某种后台的处理工作这个工作本身的难度较高测试主要是自己通过工具完成。如果一定要找一个测试人员这个测试人员的水平要相当高才行如果水平那么高那就不如也一起参与开发就好了。 事太小“我写了个小类库全部自己测试”这当然不错。 但是如果由此论点出发大力顺水推舟推广到所有情况从而得出“程序员就应该自己测试专职测试不需要”这样的结论明显不合适。 人不够 那就自己动手多做一些事情也挺好。就像前面提到的一个人可以扮演多个角色。 无知 这就不好说什么了。 15.3.2 为什么一些成功的公司不用测试人员 引起网上讨论的两篇文章在这里 http://sriramk.com/blog/2012/01/testing.html中文翻译在http://www.aqee.net/on-testers-and-testing/。 http://www.quora.com/Is-it-true-that-Facebook-has-no-testers 其中打分最高的回答来自前雇员(Evan Priestley)他总结了Facebook这个公司为什么貌似没有全职测试人员 a) 全公司人员经常使用自己的软件产品(如果你开发的软件是航天飞行某控制模块你怎么能经常使用呢) b) 使用log来分析问题可能出在哪里。(我们的一些程序员写程序都没有log那大家看什么呢) c) 利用用户的反馈和实时状态分析(比较过去一小时和上周同一时间的数据来判断是否有bug。) d) 应用开发商给Facebook报bug。(开发商其实比较不爽但是FB有时就是无预警地修改API你除了赶紧报bug还能怎么着) e) 很多人自愿给Facebook报bug这位贴主自称每月给他的前雇主报13,000个问题。(没错是每月一万三千个) f) 最后这位前雇员还加了一句还有一个原因是Facebook大体上也不需要搞出太高水平的软件。 当你的公司也能有a)到e)这样的文化、流程、开发商和给力的前员工而且你的软件“大体上也不要太高质量”你的确不需要什么全职测试人员 15.3.3 微软是怎么做的呢 就像MSF原则讲的那样有分工有合作。微软开发测试主要有三种角色[i] SDESoftware Design Engineer简称dev。SDE/TSoftware Design Engineer in Test也写代码但是重点在测试。STESoftware Test Engineer。 对于如何更有效地开发互联网应用微软很多团队都做过不少探索。微软公司在创业之初也没有多少专门的测试人员在1984年的时候开发测试的比例是20:1. 后来随着产品线的变化有些项目的测试人员比例几乎和开发人员一样多。最近一些团队是做互联网业务相关的尝试把SDE和SDE/T合成一体。每个人都负责开发/测试/发布这一整套流程。这种做法根据我的观察有好处也有额外的成本。 15.3.4 团队应该如何安排QA 和测试工作 测试、质量保障、软件工程的质量团队和个人到底应该怎么办呢我认为 在初始阶段(新项目团队进入一个新领域人员刚进入一个项目)每个团队成员都要尽量打通各个环节多负责把所有事情都搞懂培养通才。当项目/产业发展到一定阶段(进入阵地战的时候)要大力提倡分工合作培养专才。同时要把好的工具和流程集成起来从每日构建到基本功能的自动化都要尽快实现。把自己项目的架构和流程做好让所有人都能比较容易地进行QA工作这样团队的“软件工程质量”才会有提高。培养“大家都要做QA专人负责量化的Test有条件多做测试自动化”的文化。要明白自己项目的特点避免照搬别人的做法。不要听说某某伟大的项目的开发/测试比例是多少因此就哭着喊着也要同样的比例。如果一个团队是认真严肃地做软件那他们一定要考虑如何保证程序的质量/软件工程的质量以及达到这些质量需要多少成本。 15.3.5 测试人员的职业发展 分工之后每人负责一小块东西怎么才能体现出个人的独特而巨大的价值呢例如你刚到一家出版社领导让你做“二审”这份工作或者你刚到一个软件公司领导让你做“测试”这份工作你怎么才能展现出你独特的价值呢 请找到几个软件测试工程师(例如软件学院的测试专业早几年毕业的师兄师姐测试论坛上活跃的用户软件公司的测试人员)和他们了解并探讨测试这门专业。 15.3.5 专业测试机构如何处理作弊 评论一下这个事件 http://www.ithome.com/html/it/145138.htm 引用 世界上三大最著名权威杀毒软件测试机构AV-ComparativesAV-TEST和 Virus Bulletin联合公开谴责了中国安全厂商奇虎360原因是360送给机构的测试产品和实际发放用户使用的产品表现出了显著不同的行为。三家测试机构宣布将撤销奇虎360产品今年以来获得的所有认证和评级且会在今后的测试中坚持公开公平地对待参测厂商保证用户收到的是最准确的信息。 15.4 如何衡量软件工程的质量 在本书开头我们讲了如何证明自己做好了软件工程 研发出符合用户需求的软件通过一定的软件流程在预计的时间内发布 “足够好” 的软件并通过数据和其他方式展现所开发的软件是可以维护和继续发展的 我们能否量化上面提到的这些要点呢 小组的同学可以想出一些指标也可以从文献中查到学术界的论述还可以通过实践来总结。 下面是一些常用的量化指标: 软件 CC 后 DCR 的数量用户的好评/差评 (例如AppStore 的5星级评价)在CC 后发现的bug 的数量文档的完备性和准确性 (用百分率表示)修复 bug 所需的平均时间单位开发量(人*月)出现的重大 bug 的数量测试用例的覆盖率模块的复杂程度 (用工具检测并有量化结果)代码的行数文档的数量和复杂程度有多少代码被重用了平均每天构建失败的次数软件实现了多少功能点软件能运行多久 平均初次错误时间 (mean time to failure) 平均无故障时间 (mean time between failure)... 团队可以选取 7 个指标 (包括自己想出的指标)然后在项目中计算这些指标并跟踪。 [i] 这本书讲了不少微软公司各种角色的故事 How To Move Mount Fuji, 作者: William Poundstone, ISBN 0316778494