小伙伴们,大家好~
本周起,我们的“教材连载”栏目将正式回归啦。
接下来我们将用大半年的时间给大家分享Python测试开发的相关内容。
上期回顾:预备知识:软件工程与软件研发
· 本 · 期 · 内 · 容 ·
多数软件企业都设立了开发与测试两个独立的团队,这两个团队可能隶属于一个部门,也有可能各自隶属于两个部门。
估计没有人会质疑测试活动本身的价值,一方面开发团队确认测试团队有存在的必要性,但是另一方面,在和开发团队打交道的过程中,测试人员通常会听到以下的言论:
你会不会用软件呀?
你使用了最bt的方法发现了用户永远也不可能发现的问题或者用户根本不可能像你这样操作;
由于我使用了XXX技术,YYY方法和受到了ZZZ的约束,所以只能出现这样的问题,所以就不是bug;
上次都说过了,是你们测试的问题,先保证测试用例的正确性再来测试;
软件测试团队的角色通常定位为“质量守护者”。自然地,他们所发现软件缺陷的数量和严重程度与其绩效潜移默化地有着紧密关联。于是乎,测试工程师为了体现其价值,希望尽可能在缺陷跟踪系统中新建缺陷记录。但开发工程师就不干了,因为缺陷数量同样可以作为考核指标以衡量其开发质量。所以通常会看到:测试工程师发现问题后,首先与开发工程师进行沟通,在征得开发工程师的同意后再新建缺陷记录(这个过程有时变成了一种博弈,而非真正为了工作效率);开发工程师对于测试工程师所发现的问题不是持感激态度,反而认为他们是在“找茬”。由于“质量守护者”的存在,开发工程师心安理得、堂而皇之地认为保证软件质量是测试部门的事。于是线上如果出现了严重的问题,第一个被责问的对象通常会是软件测试团队,“为什么没有测试出这个问题???”
不难发现,以上的场景都是测试和开发团队配合不佳的表现。那怎么能更好的改善测试团队和开发团队的关系呢?从测试人员的角度出发,你可以做以下的改善:
(1)、要耐心和细心。
细心是测试工程师的一个基本素质,测试工程师是对质量负责的人,涉及到质量问题,就不能含糊,因此一定要细心,细心对待每一个可能的BUG、细心对待每一段被你检查的代码,细心对待每一个你撰写的BUG报告,细心对待你发出的每一封邮件。细心是一种态度,你的态度迟早会感染和你合作的开发人员,而这往往是合作愉快的基础。
(2)、要懂得尊重对方。
开发是一件需要全面和综合考虑的工作,开发工作中,由于各种原因导致程序中出现问题是很正常的现象,作为测试工程师,发现了这些问题并不值得你夸耀,也不能说明你比开发工程师聪明。一个好的测试工程师一定是懂得尊重开发工程师的人,尊重对方的技术水平,尊重对方的代码。我接触过的开发人员都是挺和善的,一般来说,对他们最大的尊重就是承认他的专业水平,承认他的代码。对他们来说,代码就像是自己的孩子一样:)因此,记得在合适的时候表达你对他的尊重,赞扬一下他代码的精妙之处。
(3)、要能设身处地为对方着想。
开发工程师一般都处在较大的工作压力下,他的上司直接考核他们的指标很大程度上是已完成的代码,所以在工作任务紧张的时候,对于测试工程师报上来的BUG会拖延解决甚至是推脱,给测试工程师的感觉就是很不合作。那么在这个时候,就需要设身处地的为对方着想了,每个人都会为自己的工作在内心排定优先级,如果他认为解决你发现的BUG不是重要的事情,那么最大的可能就是你并没有向他解释清楚这个BUG的严重程度。
发现BUG是我们的责任,敦促BUG得到解决是我们更重要的责任,因此,我们可以心平气和地和开发人员坐下来讨论一下BUG的严重程度,和他一起排定BUG的优先级别并确定解决的时间。
(4)、要有原则。
不要忘记,测试工程师需要对产品的质量负责,在这一点上一定要有原则。测试工程师可以和开发工程师建立良好的个人关系,但在具体的事情上,一定要按照公司的相关流程来处理。当然,在坚持原则的同时,可以采用一些委婉的表达方式,可以在允许的情况下尽量体谅开发工程师,但请记住,一个有原则的测试工程师才能真正帮助开发工程师,才能赢得开发工程师的尊重。
(5)、要主动承担。
如果开发工程师要求你承担部分不属于你的责任,比如,定位你发现的BUG到代码一级,或者是帮助他编写部分文档和代码(不要不相信,真的有这样的事情),那么你会怎么做呢?在笔者的测试经历中,这些事情都遇到过,原则是在可能的情况下可以多承担一点。其实都是工作上的事情,有能力的话,多做一点也无妨。
(6)、要有持续学习的觉悟。
思考练习
1、请搜集一些关于软件研发的问题和解决方案。
2、请尝试描述一个软件研发的过程和关键步骤。
3、想一想为什么产品质量非常重要,软件测试非常重要。
下周分享:软件测试的六大类型