一般team都有developer跟专职的QA话说test有n多种啊,比如unit test,integration test, functional test, performance test,甚至acceptance test~
作为developer只需要写unit test一般有code coverage要求,integration test是在交给QA测试前的整合,基本也developer做吧,但只是spot check而已。
QA需要做的是测试所有的feature甚至exceptional case,performance test一般是产品发布前QA做,developer配合~
一般acceptance test是客户方面来做或者product manager 跟 QA manager联合sign了才算
在实际的工程项目中
由于新加坡本土从业人员素质问题:
1. unit test基本不做,程序员一般以integration test的方式测试基本逻辑
2. integration test基本上也是程序员做。即使有专署的测试人员,他们对于系统的功能也非常不了解
3. QA基本上就在白纸黑字上签字
4. 顾客查看测试资料还停留在“有”和”没有”的程度上。
本人的一个很好的体验是,系统功能性测试需要程序员和测试人员共同进行,迭代发现unit test应该检测到的问题:
1. 系统的功能,包括一些很细节的实现,由系统架构师作文档记录,生成测试文档 -- 重要!
2. 程序员依据架构师的文档实现代码
3. 程序员根据接口实现自动测试程序代码
4. 程序员实现另一程序随机生成自动测试程序需要的数据
5. 由不相关测试人员(小白)利用自动测试程序测试随机数据,发现问题记录文档 -- 重要!
另一种方式也能提高软件质量
1. 小白程序员anyhow write code
2. 老道程序员不写代码,不看代码,专注功能和一些exception测试,意见反馈给小白
3. 小白看到程序错误,"哦~没考虑到那种情况",保持初心,不断改进
1. unit test基本不做,程序员一般以integration test的方式测试基本逻辑
2. integration test基本上也是程序员做。即使有专署的测试人员,他们对于系统的功能也非常不了解
3. QA基本上就在白纸黑字上签字
4. 顾客查看测试资料还停留在“有”和”没有”的程度上。
本人的一个很好的体验是,系统功能性测试需要程序员和测试人员共同进行,迭代发现unit test应该检测到的问题:
1. 系统的功能,包括一些很细节的实现,由系统架构师作文档记录,生成测试文档 -- 重要!
2. 程序员依据架构师的文档实现代码
3. 程序员根据接口实现自动测试程序代码
4. 程序员实现另一程序随机生成自动测试程序需要的数据
5. 由不相关测试人员(小白)利用自动测试程序测试随机数据,发现问题记录文档 -- 重要!
另一种方式也能提高软件质量
1. 小白程序员anyhow write code
2. 老道程序员不写代码,不看代码,专注功能和一些exception测试,意见反馈给小白
3. 小白看到程序错误,"哦~没考虑到那种情况",保持初心,不断改进