今日方知有SDET一职,其全称是Software Development Engineer in Test软件开发测试工程师。顾名思义,该职位的主要工作就是测试中的软件开发,大多是自动化测试工具和测试用例的开发。
曾有人总结说,胜任该职位的人员须具备如下十项技能:
· Analytical problem solving
· Customer-focused innovation
· Technical excellence
· Project management
· Passion for quality
· Strategic insight
· Confidence
· Impact and influence
· Cross-boundary collaboration
· Interpersonal
倘若都具备这些技能,那么专攻某一项,都能成专才;若是全面发展,则前途无可限量。关于这个职位的介绍,可以看看下面的链接。
http://www.cnblogs.com/smwikipedia/archive/2008/05/14/1197309.html
http://baike.baidu.com/view/1792497.html?tp=4_01
再看看微软的招聘,http://microsoftjobsblog.com/test/
Software Development Engineer in Test (SDET) inteviews at Microsoft
Posted Tuesday, June 17 2008 by The JobsBloggers
The Software Development Engineer in Test Position
The SDET position is one of the three core engineering positions at Microsoft, along with program manager and software development engineer. All three positions leverage strong computer science engineering skills, with SDETs leveraging their technical and analytical skills as the primary drivers of quality—no small task! Good SDET candidates help shape our products by:
· Participating in design and code inspections.
· Writing infrastructure tools and code to exercise our products.
· Understanding in exquisite detail how customers will use the product.
Not everyone is cut out to be an SDET; you need to be structured enough to make sure nothing is missed, creative enough to think like millions of customers, technical enough to write code and design algorithmically beautiful solutions, and articulate enough to let people know what you think!
In most SDET positions, you start by learning about your product and your customers—how else will you know how the product should work? From the beginning, you’ll be an integral part of the team that designs and writes the code, providing feedback on its design and anticipating everything that could go wrong. To prevent those possible disasters, you’ll be writing code that automatically verifies that if anything does go wrong, you’re code will tell us. That means that you potentially write more code than the developers. You might also write code for tools to help find new problems or prevent bugs from happening in the first place. You might have the opportunity to work with “beta” customers before the release to make sure that any issues they have are addressed. As we near our ship date, all eyes will turn to you to make sure that the release of the product that your team created is ready for customers around the world to use! Whether it’s an established product that the world relies on or a new technology that could change the face of software, your work will ensure that Microsoft delivers a quality product.
Longer term, an SDET career can lead you down a management path or deep into technical engineering (or both!). Microsoft has a road map for success in both arenas, whether it’s leading the teams that create products, managing a project and all the parts of it, or understanding patterns in the problems we encounter and engineering solutions that prevent them from happening again. We even have test architects, who help drive the testing vision of Microsoft across products; for example, implementing the standards we set. At Microsoft, we understand the value of a true testing discipline with a solid career path—something that many companies don’t have.
The Interview Process
The goals of the Microsoft interview process are for us to get to know you and for you to get to know us. We pride ourselves on an in-depth experience that allows that to happen. The process includes actually having you “do the job” during the interview. Expect that beyond asking questions about your background, we’ll also have you test features and write code. If you don’t feel comfortable with that, please let me know.
To prepare for the interviews, you’ll want to brush up on your programming skills, including algorithms and data structures. You can expect that you’ll be asked to write code during your interview. Be sure to test it before you say you’re done! You’ll also want to get into a testing mindset, so spend some time thinking about how you’d test something—for example: what kind of cases would you try, how would you organize those cases so you’re sure you’ve covered everything, and which creative processes would you utilize?
Remember, the basic responsibility is to make sure the feature works. Then, consider all the factors that could cause problems. What are the security implications of the feature?
Will it work in another country? How can I stress this code? What are the boundaries and error conditions? We’ve attached a host of resources at the end of this e-mail should you want to review some information on these topics.
Beyond practical questions, we want to learn more about how you think. SDETs need to be able to articulate their opinions, how the issue they’ve identified will affect a customer, and what is the “right” thing to do. When questions are ambiguous, you should ask for clarification. And for any situation, you should be able to put yourself in the position of the customer—how would you expect this product to work?
During your interview day, you can expect to meet with three-five people for one hour apiece, so be sure to get a good night’s sleep—it’s an exhausting day! We have a healthy supply of beverages; however, you may wish to bring a snack or two. Bring your questions as well—what do you want to learn about the position, testing at Microsoft, the company in general, or even the Seattle area? Your interviews will be with other SDETs and SDET managers, so you’ll have the chance to have those issues addressed by the people doing the job. By the end of the day, we want to make sure that you’ve had a chance to learn what you need to know.
Helpful Resources
These resources come highly recommended from engineers across Microsoft. Although we cannot guarantee a positive interview result, please feel free to utilize the resources below to explore the SDET position and broaden the base of your technical skills.
Software development resources recommendations:
Box, Don. Essential.NET, Volume I: The Common Language Runtime. Addison-Wesley Professional, 2003.
Brooks, Fredrick. The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley Professional, 1995.
Cormen, T.H., Leiserson, C.E., Reivert, R.L., Stein, Cliff, eds. Introduction to Algorithms. McGraw-Hill, 1990.
Howard, Michael, LeBlanc, David, eds. Writing Secure Code. Microsoft Press, 2001.
Maguire, Steve. Writing Solid Code: Microsoft’s Techniques for Developing Bug-Free C Programs. Microsoft Press, 1993.
McConnell, Steve. Code Complete: A Practical Handbook of Software Construction. Microsoft Press, 1993.
McConnell, Steve. Rapid Development: Taming Wild Software Schedules. Microsoft Press, 1996.
Tanenbaum, Andrew. Modern Operating Systems. second edition. Prentice Hall, 2001.
Testing recommendations:
Black, Rex. Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing, second edition. John Wiley and Sons, 2002.
Myers, Glenford. The Art of Software Testing. John Wiley and Sons, 1979.
Patton, Ron. Software Testing. SAMS Publishing, 2000.
Whittaker, James. How to Break Software. Addison-Wesley, 2002.
Viega, John, McGraw, Gary, eds. Building Secure Software: How to Avoid Security Problems the Right Way. Addison-Wesley, 2001.