Jobs in technology and software are becoming more and more in demand. With the advent of cloud computing, mobile applications, IoT (Internet of Things), and newer technologies that spring up frequently, the demand for qualified and skilled technologists is quickly surpassing the supply of individuals that can fill those roles.
A recent CNN interview with Andela Co-Founder Jeremy Johnson revealed that 4 out of 5 software development jobs go unfilled in the US and “… 1.8 million open IT jobs in the US alone.” As technology and software advances, so also the need to test and verify the correctness of these systems will be necessary before passing them on to the end users. This is where software testing and software quality assurance comes in.
Looking to pursue a career in software testing is a great decision that can yield great dividends in years to come. Forbes released an article rating software quality assurance as the happiest job in America. In part I of this series, I’ll give you five things to consider as you look to get started in this field of software testing to ensure you enjoy a rewarding and lasting career.
- Learn SQL: One of the most fundamental skills every software tester must master is that of Structured Query Language (SQL). SQL is a database computer language used to retrieve and manage data in relational databases. This data can then be leveraged for testing purposes. Most QA job openings today expect software QA engineers to be proficient in writing and executing SQL queries. This includes understanding how to write SQL constructs such as SELECT, INSERT, UPDATE and DELETE statements, as well as being able to write and execute JOIN statements. Therefore, learning SQL is a great skill every software QA engineer should learn and become familiar with.
- Mobile Testing: The next element one must consider when getting started in software testing is to learn how to test mobile applications. Mobile applications and technologies have become a part of our everyday lives and ecosystems. Therefore, learning how to test mobile applications on a variety platforms like iOS and Android is a skill that will serve one well as he or she delves into the arena of software testing. Testing mobile applications should include testing the happy path, the sad path, its orientation, hardware add-ons, gestures and installation processes to name a few.
- Understand Agile: The buzz word in today’s software development world is Agile. You wouldn’t find many job openings today that don’t require Agile as a requirement to getting hired. Agile is a methodology that focuses on quickly developing software in short two weeks intervals called sprints. These sprints are based on user stories. Additionally, agile is a lean software development approach that is highly dependent on constant feedback and interaction between scrum members to develop and quickly deliver a working piece of software. Therefore, learning this is fundamental to getting stated and advancing in QA.
- Web-based Applications: Almost all applications today are web-based. Coincidentally, most job openings today center around one’s ability to test web applications. More and more applications are web-based and require rigorous and efficient testing methods and strategies to ensure minimizing the number of defects when the system is deployed in the production environment. How does one test web-based applications? Testing web applications should consist of testing various browsers (Chrome, Internet Explorer, Safari, Firefox, etc), usability, integration, security, system functionality, its performance, how much load it can handle, and a host of other inputs and outputs of the system.
- Learn To Automate: As one grows in his or her software testing career, learning to automate applications is a skill that can’t be overstated. Automation is the future of software testing. Therefore, learning automation tools like Selenium WebDriver, HP UFT/QTP and other testing tools is a great way to a well-balanced career as a software tester. How does one get started in automation? One suggestion will be to start with a simple scripting language like UNIX Shell Scripting, Perl, or any other scripting language. As one gets comfortable, and learns to automate everyday mundane tasks, he or she can work their way up to learning a programming language like Python. Python is a great beginner language to learn as one learns to automate applications. Software QA is becoming more and more technical and more companies are requiring their QA engineers to be more technical (know how to code), in order to automate their manual test cases. So, if you’re a tester that can code, you’ll be gold to any company you work for and will be compensated accordingly.
Learning the “ropes” to get started in software testing is a steady process. As someone once said, the best way to eat an elephant is “one bite at a time.” As you look to take a bite into the world of software testing, the five highlighted points outlined above will be a great way to lay the foundation to a solid career in software testing.
However, like most things in life, there’s always more to learn and greater heights to soar, therefore, in part two of this series of “How To Get Started In Software Testing”, I’ll outline a few more topics you should look to consider in order to help you get started in software quality assurance and to ensure that you are a well-rounded software tester.
Tim Ebie is the founder of www.testdemy.com, an online Software testing and QA platform that helps individuals looking to get started in Software QA, improve their testing skills and become more highly sought after testers. Tim has been a Software Quality Assurance (QA) Engineer for over 10 years and has experience performing both manual and automated testing, as well as experience working on small, medium, and large size projects in a number of industries and domains. Tim holds a bachelors in Computer Engineering from the University of Houston and possesses a QA certification with the Quality Assurance institute (QAI) in testing.
In his spare time, Tim enjoys playing basketball.