软件测试的应用-手机应用安全性测试
相信很多人不管在面试的时候或者是在跟亲友闲聊的时候,更甚至是在你听到这个行业的时候就想过这个问题,我们的一款软件为什么需要专门的测试人员去测试,在企业中一款软件开完完成之后软件测试的应用,让开发人员自己去完成测试,就不用找专门的测试人员了,会不会对公司减少人力成本,岂不是更能提高公司的盈利额了,是的,这些都是我们不了解软件测试这个行业的人灵魂发问,那我就从自己从事软件行业这么多年的角度,简单的聊一下我自己的看法;
1,软件测试从大的方面讲是分为:手工测试和自动化测试;
手工测试:就是通常所说的点点点,就是模拟用户对软件做一些常规的操作(正常和异常操作),是对软件功能的应用,比如:给你一个账号,你点开软件,进入登陆页面,登陆进去,正保证软件能都正常的登陆,这个就是软件的手工测试,当然你想测试登陆功能不只是登陆成功就可以,你必须要自己模拟n多个各种限制登陆的场景(比如密码错误的时不让你登陆成功这种异常场景);
自动化测试:自动化测试是用代码去运行代码,自己写一些测试脚本然后去运行开发的代码,以发现开发代码中错误的一些行为;当然,自动化测试就需要你要回写一种语言,现在行业内最流行的写自动化测试的语言是python,Python语言简单易学,不行Java软件测试的应用,C语言,C++这些语言,对格式要求很高;言归正传,自动化测试其实就是讲手工测试的内容用代码去实现,一般比较紧急的需要测试的特性都会是先快速的手工测试一遍,然后再去自动化测试;
2,等你认真的看完第1条之后,我可以再去聊聊为什么要有专门的测试人员去测试一款软件,相信你有听说过一个程序员写出了自认为没有bug的一段代码的故事,没听说过没关系,我可以讲一遍给你听:
有一个笑话是这样的:
1. 程序员写出自认为没有Bug的代码。
2. 软件测试,发现了20个Bug。
3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。
4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。
5. 重复3次步骤3和步骤4。
6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了。
7. 用户发现了137个新Bug。
8. 已经领了项目奖金的程序员不知跑到哪里去了。
9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456个新Bug。 10. 最初那个程序员从斐济给饱受拖欠工资之苦的测试组寄来了一张明信片。整个测试组集体辞职。
11. 公司被竞争对手恶意收购。收购时,软件的最终版本包含783个Bug。
12. 新CEO走马上任。公司雇了一名新程序员重写该软件。
13. 程序员写出自认为没有Bug的代码。
相信读完了这个笑话,你也大概能明白,我们的开发人员是对自己的代码是很自信的,如果让开发人员自己测试,很难找出自己的bug,因为每个开发人员都不会写自己能察觉到的bug,而测试人员就是要从开发的代码中发现与用户需求之间差异,即:缺陷,继而增大对软件质量的信心。
关注测试扒哥,会持续更新新内容;