软件测试

作者:apoptoxin
链接:https://www.zhihu.com/question/22947392/answer/27471190
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

作为思科的测试工程师,以前也在华为,诺基亚西门子工作过,就楼主的问题说下我了解的公司测试的情况。但首先还是说下那篇文章。作者可能是优秀的开发,但码得一手好code并不能说明就能作好测试,只从代码的角度看问题难免有点眼光狭隘。不过我猜想这可能和他平时做的产品有关——测试的重要性和产品对稳定性成熟度要求、面向的客户群、还有修复成本高低有关。要求越高的软件,测试越重要,越需要完善的测试部门。

相对来说要求较低的软件如一些互联网软件,浏览器,手机app等,这些很多都是简单测试甚至不测试,只要发布一个版本,然后利用庞大客户群去发现bug,再做下一个版本,再发布……因为这些软件有问题一般影响也不大,所以对这部分开发人员来说,他们是最觉得专职QA是不需要的。所谓做不了开发就做测试吧,其实也可以说只会写代码的话就去做开发吧。

再来就是大型网站,操作系统之类的,主要处理好性能、稳定和安全性,功能只要能正常工作一般问题也不大。这些可能可以由一些资深的开发来做测试,但他们也不是完全能达到独立测试的要求,另外时间和精力也是一个问题。

接着是电信,企业级的通信设备,除了性能和稳定外,对软件功能要求也比较高,因为错误的严重性和修复的成本可能会很高。更重要的是因为功能,协议,网络环境的纷繁复杂,开发能不能达到专业的测试要求,知识面是一个方面:会网络不见得会HA,会语音不见得懂底层转发,懂微码不见得懂网络。

最后是一些特别行业的软件,如航天航空,医疗和工业控制等,这些一旦出问题造成的可能就是场灾难,这些就更需要专业的测试了。

------------------------------------分割线-------------------------------
回到正题,简单说下公司里的测试。在思科,测试称为 DT(develop testing engineer),开发则是 DE(develop engineer)。从比例上看,我们现在部门DT:DE大概是1:1.5的样子:开发按功能领域分成6个大组,像network, data plane, infra...测试则是3个功能测试和一个系统测试,还加上一些外包测试人员。 一般在项目开始阶段DT就会开始介入,主要工作是了解功能实现和协议规范,并作出sanity test plan。其目的是保证系统基本功能的正常。在测试认为软件不满足基本测试要求的情况下,测试是可以拒绝接受开发的版本的。

现在公司在推敏捷模式,DT和DE都坐在一起,基本上一个月一个cycle。测试不用一轮轮的反复进行,一个月做完一点,然后系统测试那边就同步的测,以前的regression脚本也会同步的跑。开发现在也被要求在提交功能之前要先完成UT(unit test)并提交report以保证基本功能的OK,同时UT的用例会交给测试来review以确认是否能达到要求。之后DT大概用半个月到一个月的样子完成手工测试,接着就是写自动化测试代码。一般测试的时候发现问题可以直接找DE来看来,有时候也能通过邮件描述下现象,基本能确认是个问题就发bug。而像crash,错误打印,内存泄露之类的我们一般都直接发bug了,把相关信息描述清楚即可。做完之后,所有的组都会做demo,介绍下当前完成的功能并演示给远在美国的老大的老大的老大看…-_-。除了完成产品测试,DT也要解决客户问题。这些case都是客户那边发现的bug,开发和测试会一起来重现并分析,然后测试再负责验证和完成针对这个问题的自动化脚本。

关于自动化测试,之前在诺西的部门是有专门写自动化测试的工程师,而思科基本上要求每个DT都要会手动和自动化,除了写自己的还要porting别人的代码到新的平台。其实在中国,自动化测试看起要比手动高级,这估计还是由于代码至上的想法造成的——就如同外面有些公司或人认为开发比测试高级一样。其实在美国很多大牛都是擅长做手动测试的。

总的来说,公司的测试工作涵盖从文档设计,单元测试,可用性测试,功能测试,系统测试,性能测试,回归测试到用户问题解决的方方面面。嘛,目的都是一个,提高产品质量。
-----------------------------------------分割线--------------------------------------

顺便说一下,不少人都觉得黑盒测试技术含量不高或很苦逼,其实不是这样的。相反,黑盒测试更能体现一个测试人员的能力高低。对协议的理解程度,对系统的掌握程度,对不同特性之间的关联的理解程度都影响能不能做好黑盒测试。有句话不错:在测试中发现的问题不是说明了开发的愚蠢而是体现出测试的智慧。
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值