软件测试与开发的区别及想法
作者:网络转载 发布时间:[ 2012/5/29 11:40:33 ] 推荐标签:
我做过开发,也做过测试; 现在说说两者之间的区别还有一些其他的想法;
开发的过程是:
● 功能设计,或者是理解你要做出来的是什么功能,用户到时候是怎么使用这些功能的
● 开发设计,完成这个功能需要哪些模块,数据流(dataflow)是怎么样的,Workflow是怎么样的;哪些模块是可以调用现成的API,哪些需要自己来写;
● 编码,编译(build),调试,测试
比如我要写个Android上面的记事本,可以把数据传输到云上,也可以下载下来,但是不一定很频繁;不需要实时同步;这样我如果换手机可以把数据下载下来,避免数据的丢失,或者迁移的麻烦;
这些功能一旦确定下来以后,要思考的事情是,放到哪个云上(快盘,微盘还是Dropbox等等),怎么放(文件传输的方法,用Http,还是Email,还是ftp,或者自己写Socket);有哪些现成的API可以用,比如Java的httpclient的Jar包可以使用,有哪些需要自己写,比如文件上传过程需要把文件读出来编程Java Stream,需要研究哪些技术,文件上传的Http Post方法等等;由于访问的安全性问题,都使用了OpenID,那我需要研究一下OpenID(oAuth)如何使用等等;
接下来是编码,编译,调试,测试; 这个时候也是需要测试来参与的;
开发对测试的期望是, 为了提高效率,希望每次的改动的验证可以很快完成;所以如果测试可以参与一些API的测试;那么开发的效率可以上去;开发也希望测试多去了解功能是如何实现的;
开发完以后,希望测试可以在不同的场景去使用,及早的发现问题;清晰的沟通这些问题;
开发其实花80%的时间在研究前期的技术,还有是调试,而对于调试,因为80%的模块是比较稳定的,所以其实调试的是20%的代码,希望的时候这部分代码的调试不会影响到其他模块,所以单元测试也好,API的测试也好都是很有必要的;
测试的过程:
● 理解产品的功能,用户的场景
● 开发测试用例,从多个角度去使用产品
● 新功能测试,系统测试,性能测试,压力测试等等
● 自动化测试,提高测试效率
● file bug,理解bug产生的原因
测试对开发的期望是,提高可测试性,比如更多的log信息,出错的信息是有意义的(其实这个对开发也是有好处的),有新的改动能够通知测试;对测试而言,了解到的信息越多,越能发现更多的bug;如果开发可以告诉测试如何去debug的方法,然后测试可以自己debug,帮助开发解决一些相对简单的bug,那么测试和开发的合作很和谐。
相关推荐
最新发布
性能测试之测试环境搭建的方法
2020/7/21 15:39:32软件测试是从什么时候开始被企业所重视的呢?
2020/7/17 9:09:11Android自动化测试框架有哪些?有什么用途?
2020/7/17 9:03:50什么样的项目适合做自动化?自动化测试人员应具备怎样的能力?
2020/7/17 8:57:06几大市面主流性能测试工具测评
2020/7/17 8:52:11RPA机器人能够快速响应企业需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消灭吗?为什么?
2020/7/17 8:43:03软件测试基本概念是怎么来的?软件测试生命周期的形成历经了什么?
2020/7/16 9:11:10