Software Testing @ Microsoft


In continuation from my previous series of posts targeting testing in top few companies from the technology space.

After Software Testing @Facebook and @Google we shall now look at Microsoft:

Testing@Microsoft
  • Software Development Engineers in Test (SDETs) are usually just called Test and sometimes Software Testing. SDETs are responsible for maintaining high testing and qualityassurance standards for all Microsoft products.
  • Software Development Engineers (SDEs) are often referred to as Software Development. SDEs write the code that drives Microsoft products and upgrades.
  • Very few teams in Microsoft are still using SDETs to do significant amount of manual testing. Manual testing is mainly outsourced. Actually, as early as in 2004, for example, most of the manual testing of MSN Explorer was outsourced. Think about it this way: it just doesn't make sense for test manager to spend their headcount (SDETs) on something can be easily outsourced. 
  • Until 2005, Microsoft actually used two different titles for testers. Software Test Engineer (STE) and Software Development Engineer in Test (SDE/T). This dual-title process was very confusing. In some groups, the SDE/T title meant the employee worked on test tools, and in others it meant he had a computer science degree and wrote a lot of test automation.
  • There is no SDET any more in Microsoft. In the "Combined Engineering" change last year (2014), SDET and SDE were merged into one job: Software Engineer. What previously SDETs were doing, now it's a part of the Software Engineer's job.


  • The key question of how software is tested at MS is never really answered. For example:
    • Linux maintainers use Coverity on the Linux Kernel. Does MS use such tools on their Kernel?
    • What sort of scripting languages are used for automation testing of Office or Windows or any other MS product?
    • What sort of Unit Testing software do MS developers use? CppUnit? NUnit? The Unit testing feature in VS2008? What do some of these unit tests look like?
    • What does the typical test plan at MS look like?
    • What sort of white-box testing do developers perform? There are a few vague references to unit testing, but what about performance and coverage testing? What specific tools do they use? What do their result reports look like?
  • At the end of the day, when it comes to writing code, a software engineer in Microsoft (and also in many other companies) may write three kinds of code: a) the product code which makes money for the company, b) the test code which make sure the product code works as expected, c) the tools code which helps in writing/running/maintaining the product code and test code. SDE's job was to write the product code and tools code, while SDET's job was to write the test code and tools code.
  • To deliver high-quality features at the end of each iteration, feature crews concentrate on defining "done" and delivering on that definition. This is most commonly accomplished by defining quality gates for the team that ensure that features are complete and that there is little risk of feature integration causing negative issues. Quality gates are similar to mile-stone exit criteria
  • The Value of Automation - Nothing seems both to unite and divide software testers across the industry more than a discussion on test automation. To some, automated tests are mindless and emotionless substitutes for the type of testing that the human brain is capable of achieving. For others, anything less than complete testing using automation is a disappointment. In practice, however, context determines the value of automation. Sometimes it makes sense to automate every single test. On other occasions, it might make sense to automate nothing. Some types of bugs can be found only while someone is carefully watching the screen and running the application. Bugs that have an explanation starting with "Weird—when I dismiss this dialog box, the entire screen flashes" or "The mouse pointer flickers when I move it across the controls" are types of bugs that humans are vastly better at detecting than computers are. For many other types of bugs, however, automated tests are more efficient and effective.
    • Automate Everything - BVTs run on every single build, and then need to run the same every time. If you have only one automated suite of tests for your entire product, it should be your BVTs.
    • Test a Little -  BVTs are non-all-encompassing functional tests. They are simple tests intended to verify basic functionality. The goal of the BVT is to ensure that the build is usable for testing.
    • Test Fast - The entire BVT suite should execute in minutes, not hours. A short feedback loop tells you immediately whether your build has problems. 
    • Fail Perfectly - If a BVT fails, it should mean that the build is not suitable for further testing, and that the cause of the failure must be fixed immediately. In some cases, there can be a workaround for a BVT failure, but all BVT failures should indicate serious problems with the latest build. 
    • Test Broadly -  Not Deeply BVTs should cover the product broadly. They definitely should not cover every nook and cranny, but should touch on every significant bit of functionality. They do not (and should not) cover a broad set of inputs or configurations, and should focus as much as possible on covering the primary usage scenarios for key functionality
  • An old software testing blog - Microsoft https://blogs.msdn.microsoft.com/micahel/
The book: http://www.wangyuxiong.com/wp-content/uploads/downloads/2013/02/HowWeTestSoftwareatMicrosoft.pdf

The Abuse and Misuse of Test Automation - Interview with Alan Page







P.S: Based on my research and what's on internet these are just some very interesting snippets. I will try to keep this updated as and when I hear more.

Sources:
https://www.quora.com/What-is-it-like-being-an-SDET-at-Microsoft
http://www.amazon.com/Test-Software-Microsoft-Developer-Practices-ebook/dp/B00JDMPPQA
http://blog.fogcreek.com/the-abuse-and-misuse-of-test-automation-interview-with-alan-page/
https://blogs.msdn.microsoft.com/micahel/

Also shared on LinkedIn:
http://www.linkedin.com/pulse/software-testing-microsoft-aditya-kalra-ady-?trk=pulse_spock-articles

Happy Testing until the next Testing@ post.

Comments

  1. As disussed above software testing is one of the important field in detecting the bugs. In Software testing selenium training institute in Chennai we are enabled to identify the errors with advanced level of selenium course and can match the actual results with that of expected results.

    ReplyDelete
  2. The future of software testing is on positive note. It offers huge career prospects for talented professionals to be skilled software testers.
    Regards,
    Software testing training in Chennai| Best software testing training institute in Chennai|Software testing courses in Chennai

    ReplyDelete
  3. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    PEGA Training in Chennai

    ReplyDelete
  4. Besant Technologies is a technology oriented company engaged in the business of providing job training for all types of Internet Marketing Courses used in the real world job environment.
    Software Testing Training Institute in Chennai |
    Selenium Training Institute in Chennai |

    ReplyDelete


  5. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things

    ReplyDelete

  6. Interesting post! This is really helpful for me. I like it! Thanks for sharing!
    Mobile application developers in Chennai | PHP developers Chennai

    ReplyDelete
  7. Anonymous23/4/18

    It's veru useful and interesting post.Really like this.


    software testing training online

    ReplyDelete
  8. This Blog is very helpful and useful,came to know that i should be strong in my basics and this blog helps me to improve it,Urgent Care Services Provided by Us.Thanks For Posting.I Am refereed by my friend to this blog and i also want to refer my other friends to this blog.

    ReplyDelete
  9. Awe! What An Blog Very Helpful and interesting Really A great center for acquiring knowledge.Very Helpful Post And Explained Very Clearly About All the things.Very Helpful. Coming To Our Self We Provide Restaurant Equipment Parts .Really Thankfull For the blogger providing such a great information.Thank you. Have a Nice Day.

    ReplyDelete
  10. It's A Great Pleasure reading your Article USMLE in Chicago Thanks For Posting.

    ReplyDelete
  11. Thanks For Sharing Valuable Information, Very Useful For U Medical Residency in USA

    ReplyDelete
  12. Hi, Thanks for sharing article posting. For more information please visit again. RPA Training in Chennai | Blue Prism Training in Chennai

    ReplyDelete
  13. Really Thanks For Sharing Such an Useful and Informative Post....

    Vizag Real Estate

    ReplyDelete
  14. Thanks for posting such a great article.you done a great job selenium Online Training Hyderabad

    ReplyDelete
  15. Greetings from Florida! I’m bored at work, so I decided to browse your site on my iPhone during lunch break.
    industrial course in chennai

    ReplyDelete
  16. Thank you for your post. This is excellent information.
    software training institutes in delhi

    ReplyDelete
  17. I like you post.It is very usfull to all.
    In this post having more usefull information and improve our knowledge.Can you share more valuable information present Technology.
    Dot Net Training in Chennai
    Selenium Testing Training in Chennai
    Software Testing Training Institute in Chennai
    Core Java Training in Chennai
    PHP Course in Chennai

    ReplyDelete
  18. Great Blog, Millennium Software Solutions provides the best IT Software Training Institute in Dwarakanagar /Vizag for HTML, ORACLE, .NET, JAVA, PHP Testing Training, Oracle/DBA, Mobile Development, Web Development, Networking & Others. Get trained by 20+ years of experienced faculty on real-time projects. For more information visit our site Best IT Software Training Institute in Visakhapatnam

    ReplyDelete

  19. Your very own commitment to getting the message throughout came to be rather powerful and have consistently enabled employees just like me to arrive at their desired goals.
    Matlab Training in Chennai | Best Matlab Training in Chennai
    AWS Training in Chennai | Best AWS Training in Chennai
    Devops Training in Chennai | Best Devops Training in Chennai

    ReplyDelete
  20. It’s awesome that you want to share those tips with us. It is a very useful post Keep it up and thanks to the writer.

    erp providers in chennai
    erp implementation in chennai
    erp software in chennai
    UiPath Automation Chennai

    ReplyDelete
  21. I love this post.

    โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร Gclub กับทางทีมงานของเราเพียงเท่านั้น
    ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
    สมัครสล็อตออนไลน์ >>> goldenslot
    สนใจร่วมลงทุนกับเรา สมัครเอเย่น Gclub คลิ๊กได้เลย

    ReplyDelete
  22. Very cool!

    เว็บไซต์คาสิโนออนไลน์ที่ได้คุณภาพอับดับ 1 ของประเทศ
    เป็นเว็บไซต์การพนันออนไลน์ที่มีคนมา สมัคร Gclub Royal1688
    และยังมีหวยให้คุณได้เล่น สมัครหวยออนไลน์ ได้เลย
    สมัครสมาชิกที่นี่ >>> Gclub Royal1688
    ร่วมลงทุนสมัครเอเย่นคาสิโนกับทีมงานของเราได้เลย

    ReplyDelete
  23. Great Blog, Best MS Office Training Institutes in Kompally Hyderabad - Lasya Infotech is the Best MS Office Training Institute in Kompally Hyderabad with highly experienced and skilled trainers. MS Office training in Kompally from expert trainers of our institute.. And more information visit our site Best MS Office Training Institutes in Hyderabad

    ReplyDelete

Post a Comment

Popular posts from this blog

Trim / Remove spaces in Xpath?

Complete list of Serenity properties

XPATH for IE / internet explorer