Programming basics for (non-coding) testers

I suspect one reason why many testers do not learn to read or write code is because they find the initial hurdle of learning a modern programming language insurmountable. But, there is a growing demand for testers with coding skills. As software grows in size and complexity many organizations are seeking multi-faceted professional testers with strong technical skills to write effective test automation libraries. And the C# programming language is rapidly becoming an extremely popular language for developing automated tests.

 

 There are many advantages of the C# programming language for test automation. C# can be used to test legacy applications, new .NET applications, and also web based applications. C# is an international standard, it is portable across many platforms, and best of all, with the free Visual C# Express Edition development environment with its built in syntax checking and Intellisense C# is a reasonably easy programming language to learn. But, where does a tester with no coding background start?

 

Programming in the Key of C#: A Primer for Aspiring Programmers by Charles Petzold is perhaps the best book written to teach non-coders the basics of programming using the C# language. Charles Petzold is world renowned for his books on Windows programming. But, the real beauty of this book is that it doesn’t muddy the waters with topics required for developing a Window’s application in C# like most beginning programming books. This book is simply about programming basics using the C# programming language. All of the code samples are console (non-GUI) applications which focus on basic programming syntax such as:

            working with data types

            using branches and loops

            basic exception handling

 

Of course it also discusses subjects such as encapsulation, inheritance, and operator overloading, but it is also not a complete guide to the C# language. This book also doesn’t discuss test automation or writing an automated test case to test an application under test. But, quite simply this is a great book for anyone who is new to programming and wants to learn the basics of programming using the powerful, easy to learn C# language.