测试工程师是否需要懂开发.doc_第1页
测试工程师是否需要懂开发.doc_第2页
测试工程师是否需要懂开发.doc_第3页
测试工程师是否需要懂开发.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

测试工程师是否需要懂开发Am I a Tester or a Programmer? Who am I? Abhijit Navindgikar: “I am having one question regarding software testing. Currently I am working as a software tester. I am having 3 years of experience in manual testing and having the basic knowledge of C/C+. Is it necessary for me to learn new technologies like C# .NET for future prospects in testing? Is it necessary for the tester to have the programming skills also? (Till know I didnt feel that tester need to know the programming but let me know your views). Also will it be possible for a black box tester to shift his career to white box testing? If yes what steps need to follow to start the same?”Lakshmi: “Recently I was browsing some of the testing sites and came to know that “No knowledge on programming language is a hindrance to a testers career”. Is that correct? Really, programming language knowledge is that much necessary for a tester? I am not able to digest this. Please help me.”John: “My test manager feels that all testers must have decent programming skills. He is so much obsessed with his belief that I fear he may go ahead and fire testers who are not so good in programming (even though they are quite good at testing). Is there a way to change his mindset without hurting his ego?”These are excerpts of few emails from my inbox. These are kind of questions that always have made me to think. Every time I think on these questions, some more questions start popping up in my mind. Questions like:1. Knowledge of programming and effectiveness of a tester is there a connection? 2. Can a good programmer make a good tester? 3. Can a bad programmer make a good tester? 4. Can a non-programmer make a good tester? 5. Can I think of contexts when knowledge of programming can enhance my testing? 6. Can I think of contexts when knowledge of programming can hamper my testing? 7. Can I think of contexts when ignorance of programming can enhance my testing? 8. Can I think of contexts when ignorance of programming can hamper my testing? 9. The list of questions continuesI have seen quite a lot of such “Do testers need programming knowledge” kind of debates, especially since Microsoft started distinguishing its testers as Software Test Engineers (STE) and Software Design Engineers in Test (SDET)! And this debate gathered momentum as Microsoft started shifting weightage from STEs to SDETs while hiring (and firing) test engineers! However, I am not going to extend the STE Vs. SDET debate in this particular post of mine. Rather I will try to focus on the need of programming knowledge for a tester.To me the single sentence answer for the question “Do I need programming skills to excel as a tester” can be “It depends”. It depends on your particular context, the type and complexity of the AUT Application Under Test and more importantly your testing mission. Blindly hiring testers who can code may prove to be a bad idea, especially if you are neglecting your testing mission while taking such a biased decision!Having said that, there can be contexts where a tester who can code, can be an asset for the test project. Think of scenarios where testers need to automate GUI tests. Even if the tester might be using some so-called record-and-playback kind of tool (WinRunner, QTP, IBM Rational Robot blah blah), knowledge of programming, can be an added advantage. That can allow a tester to tweak his tests at script level to make them more powerful and flexible! e.g. The tester need not re-record his tests each time a object name for a recorded test object is changed (may be due to recent code refactoring). He can simply go and change that particular object name from the script. As Danny Faught talks in this interview, “Test automation requires programming skills. Plain and simple, no way around it. No tool can get around that.”In cases where the organization (or the client) can not afford acquiring license for costly automation tools, the programming skill (in most cases knowledge in some scripting languages like Perl, Python, Ruby, JavaScript and markup languages like XML, XSLT) can help the tester in setting up a home-grown test driver framework to cut down the license cost of Commercial tools and at the same time can result in a customized tool that fits better for your testing requirement. Forget about test automation, testers with programming skills may detect defects earlier in development cycle and may also be able to pin point the cause for the defect (provided that the tester is aware of the underlying code and the system architecture). This may also help the tester in finding other areas in code where there can be similar errors. A tester who has a development background can also participate in code reviews, can debug problems, perform unit testing and identify patterns in the code that are error prone. If you are a tester, knowledge in programming can sometimes earn you greater credibility among the programmers.But does this mean a tester without coding skills is useless? Of course not! To say Manual Testing (Sapient Testing, the James Bach way) is losing its value, in my opinion, is too early to jump into any conclusion. With users expectations increasingly higher, it would be foolish to lower its value. How many testers do unit testing in this agile era of software development (where the programmer has to write unit tests for his own code snippet)? A good tester is a good tester for his ability to test, not for his ability to code! After all, a tester gets paid to test, not to code. Although coding background can help in certain contexts to test better, that should not be over-generalized! Test automation can never replace manual testing. I think, the same can be safely said about programming skills of a tester. A tester with coding skills can not replace a tester without coding skills. If asked to test an application, both of them will find different sets of defects. Think of user experience/interface related defects for example. Or for that matter, think of scenarios where you dont have enough time to test. Would you sit down to do code review and perform a cause and effect analysis using your programming skills or would you rather exploratory test it right away?If I were a test manager, I would rather hire testers both with and without coding skills. Testing is all about flexibility! Each and every member of the testing team cant be expected to have equal skill sets and equal areas of expertise. Testing as a craft is evolving into different specializations and it must be understood that each kind has its own importance. So it always helps to have a testing team comprising of a variety of skill sets. Testers with different specializations (with or without coding knowledge) are not mutually exclusive rather they should compliment each other. What do you think?Happy Testinggoogle翻译如下(基本准确)我一测试或程序?我是谁? 战略师阿比吉特Navindgikar:“我有一个问题关于软件测试。我目前的工作作为一个软件测试员。我有3条在手工测试经验,并拥有基本知识的C / C + +的。是否有必要对我来说学习新技术,如C在测试未来的前景。网?是它的测试必须具备编程技能也? (目前知道我不认为测试人员需要知道的编程,但让我知道你们的意见)。也才有可能为一黑盒子测试转移到他的职业生涯白盒测试?如果有什么步骤需要遵循相同的开始?“ 拉克什米:“最近我浏览了一些网站的测试,知道”任何编程语言知识是一个测试人员的职业生涯阻碍“。这是否正确?真的,编程语言知识是非常必要的测试?我无法消化这一点。请帮助我。“ 约翰:“我的测试经理认为,所有的测试人员必须有良好的编程技能。他是如此痴迷,他认为我担心他可能会继续下去和防火测试谁是不太好,在编程(即使他们是相当不错的测试)。有没有办法改变,不伤他的自尊他的想法呢?“ 这些都是一些邮件从收件箱中的摘录。这些问题总是有那种使我思考。每次我对这些问题的想法,更多的问题开始在我脑海中弹出了。这样一些问题: 1。编程和测试的有效性的知识 - 是否有联系? 2。一个好的程序员可以成为一个好测试? 3。坏事可以成为一个好程序员测试? 4。可否非程序员成为一个好测试? 5。我能想到背景编程知识时,可以提高我的测试? 6。我能想到背景编程知识时,会妨碍我的测试? 7。我能想到的节目时,背景的无知可以增强我的测试? 8。我能想到的节目时,背景的无知会妨碍我的测试? 9。问题清单继续. 我看到很多很多这样的“你需要的编程知识测试”这类辩论以来,特别是微软开始显着的软件测试工程师(STE)也和软件设计工程师在测试的测试(测试工程师)!而本次辩论的势头,微软开始将由国营贸易权重的 SDETs,而雇用(和解雇)测试工程师!不过,我不打算扩大科技教育队。测试工程师辩论我这个特殊的职位。相反我会尝试集中的编程知识的测试需要。 为了我的问题“一句话回答我是否需要编程技术出色,是测试”可 - “这取决于”。这取决于您的特定情况下,类型和奥地利的复杂性下测试应用程序,更重要的是您的测试任务。盲目聘用谁可以测试代码可能被证明是一个坏主意,特别是如果你忽略您的测试任务,同时采取这种偏袒的决定! 话虽如此,可以有一个测试上下文中谁可以代码,可以成为测试项目资产。认为有必要的情况下,自动测试图形用户界面测试。即使测试人员可能会使用一些所谓的记录和的一种播放工具(WinRunner,QTP,IBM Rational的机器人等等等等.)的编程知识,可以是一个额外的好处。这可以让在测试脚本来调整自己的测试水平,使其更加强大和灵活!例如:测试人员不需要重新录制的测试记录每一次测试对象对象名称被更改(可能是由于最近的代码重构)。他可以简单地去改从脚本特定对象的名称。由于丹尼的遭遇会谈的采访,“测试自动化需要的编程技能。简简单单,没有其他解决的方法。没有工具可以解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论