首页 > 软件测试/ 正文
怎样把QA的工作做好?
2013-01-22 06:02:44 ℃
问题: 现在国内QA的工作有偏向于测试的,也有偏向于过程改进的。不管是偏重于哪个方面,如何做呢? 如过程改进,QA的工作是对过程及产品进行稽核,主要检查项目组的成员有没按制定的过程开展工作,输出相关的产物,产物是否满足要求。我感觉如果就是做稽核工作,就有点像文秘了,当加上统计和分析后,对流程进行改进,收到效果后才更像QA。现在这是我的疑问了,怎么进行统计分析,来体现QA的价值了? 如果是偏向测试的,那么从做黑盒测试,然后是自动化测试,并精通性能、安全测试。但自动化测试其实能发现的bug做得好也只占得上30%。怎么做好自动化测试? 如果想精通性能、安全测试需要了解哪些方面的内容? 精彩回答: maggie: 我做过很多年软件部门管理,对软件研发流程比较熟悉。 这个问题我看了很多天了,一直希望有专业的QA来回答,就没动手,今天忍不住了想说几句。 针对软件这个行业: QA-Quality Assurance:如果直译的话是软件质量保证,我们先抛开课本和教材讲的内容,从我们的实际出发来探讨一下软件质量。针对软件的质量,哪些环节会出问题呢? ● 需求没和客户沟通好,我们的设计不能满足用户的需求; ● 需求分析不能覆盖用户需求,和用户需求不能一一对应; ● 软件模块设计不能覆盖需求,无法从模块追溯到需求; ● 软件开发技术选型、架构设计响了扩展性和可维护性,导致升级困难,修改一处代码影响全局; ● 数据库设计不能满足用户的性能需要; ● 编码质量不高,存在错误; ● 软件开发的过程中没做好配置管理,代码被反复覆盖,没有LOG,不能追溯; ● 软件界面和易用性差; ● 上游设计文档质量差,导致下游设计人员无法根据设计导出代码; ● 其他 现在,再来理解软件质量保证就容易多了,软件质量保证渗透到需求、设计、编码、发布、维护、配置管理、文档的各个环节,每一个环节工作做到位,都会减少软件质量风险。 如果公司比较大,那么QA是一个专门的岗位,是区别于测试的,测试的重点是在找软件BUG,而QA的重点是发现过程中的质量问题,寻求改进方法和优化流程,避免以后犯同类错误。好的QA一定是一个资深的设计高手,否则只能做到文档稽核、走走流程、意义不大。 再来说说测试,测试的目标是发现BUG,如果只是黑盒功能性测试,可以借助一些开源的自动化测试工具来协助完成,专业的测试人员是会写代码、能看懂设计的,会根据模块的特性设计打桩模块,这个比用通用的测试工具更有针对性和高效。 即使是自动化测试,也很难达到100%的覆盖率,所以设计测试用例很考验测试人员的水平,凭借经验在可能出错的边界设计用例,这些经验是长期积累出来的。 性能测试和安全测试,要了解被测对象上线后面对的环境,不仅要了解项目需求,还要懂设计。比如:系统最大并发用户数、数据库读操作频度、写操作频度、哪些会成为瓶颈、系统是如何优化和做负载均衡的、排队和缓冲是怎么设计的、出现冲突的优先策略是什么、系统安全级别是什么、数据传输是否要加密、数据库存储的是明文还是加密过的、是否涉及到防火墙、入侵检测、VPN、U盾等软硬件安全防护措施等等。只有全面了解设计,才能有针对性地搭台子跑性能和安全。 所以,测试真是个很全面的工种,还真不是一般人能做好的。 武伟: 无论是QA还是Tester,本质上都是在和产品的质量打交道的人员,tester是通过测试发现产品中的缺陷,QA更多得责任应该是在通过措施来预防缺陷的产生。 与其说QA是要统计分析,不如讲QA要深入到产品从头到尾的所有流程之中,在各个环节之中创造或者改善或者规约某些行为来达到让产品的质量更靠谱。 你接下来的问题就更杂了。 无论是黑盒、自动化、安全、性能其实每一个方面都值得你去深入研究的。测试本身其实是看起来入门很简单,但越往后做就发现越困难的工作。就比如你说的自动化,最开始用一些市面上的测试工具录制回放就可以说是自动化了。但最后你会发现其实难点在于自动化的实施,如何才能完成一个靠谱的自动化测试,而不单单只是一个所谓的自动化。 最后再从个人角度纠正一个观点,如果用发现了多少bug来衡量自动化测试,可能会陷入一些误区。自动化更多的应该是帮助测试人员完成那些他不愿意做或者懒得做的case,也就是说,他更多做的是质量的保障,而不是缺陷的预防,譬如说,通过自动化测试 ,保障了我脚本中所写的check point是测试通过的,但脚本里的那些check point能发现所有的bug么?我觉的有一定难度。
- 上一篇:过程改进漫漫谈之过程改进的五个原则
- 下一篇:开发计划与软件测试
更多郑州软件编程培训选择什么专业好,女生学习编程容易吗,郑州学游戏软件编程培训学校有哪些,郑州北大青鸟java培训怎么样,郑州北大青鸟学软件开发需要什么基础,郑州计算机java专业学校相关文章
- 基于测试数据覆盖率的测试数据准备的手法示例
- 大话js代码静态检查
- 一次软件测试的电话面试分享
- 谁能成为软件测试架构师
- 我的软件测试之旅:(3)同期——加入测试自动化小组
- 软件测试的作用功不可没
- 自动化测试阶段和软件设计思考
- 白盒测试有技术含量还是黑盒测试有技术含量?
- 面向对象的软件分析设计过程备忘
- 论软件项目质量管理
- 软件项目的质量管理
- 小议软件测试的投入和产出
- 过程改进漫漫谈之SQA在软件开发成熟度中的作用
- 同行评审那些事儿(九):最佳实践(2)
- 浅谈软件质量保证
- SOA和敏捷:是朋友?还是敌人?
- 了解DOS下的内存
- DOS 命令集锦——最常用命令
- 智能手机和非智能机的区别
- IT产业中的摩尔定律
- 手机储存卡真假识别宝典
- 家庭电脑常见“危机”应急手册
- diy是什么意思,电脑diy
- 软件测试专业需要学习什么课程?
- 郑州有没有软件工程师培训呢
- 给想学习软件测试的朋友的建议
- 软件开发设计专业有想象中的那么难吗
- 郑州软件测试前途怎么样呢?
- 2014年应届生软件测试工程师薪资多少?
- 不能一辈子靠技术生存
- 搜索
-
- 热门标签