Tuesday, March 3, 2015

Lesson #1 - Why should you learn selenium?


It’s a basic fact that the software industry is continually changing, one of the most significant changes that we have in the last ten years is a “Web “based development. The option to design and develop applications that allowing the user to use/access them from any device that has a LAN / Wan connection and a supported browser is nothing less than a revolution.

When we want to examine this revolution from a testing perspective, we can say that most software applications today are written to support the Web platform, the direct results of this issue were that now we have another platform that we need to support during our testing cycles.

The main issue here, is that a new platform will require from the testers to be familiar with some new technologies, different Web browsers, security issues and many more aspects that involved during web application tests.

Now, for all of you who already have some experience in the Web testing world, I am 100% positive that you are familiar with the endless matrix of tests that are rapidly executed on different browsers that has 1000 versions that you must test because you have many clients that has a request that you support them, well this issue will lead us to discuss about the solution, that based on one of the best automation frameworks that the software industry has to offer us the testes.

So what is the name of this great framework? Well, it’s written with capital letters in the title, the name is “Selenium “and in this series, I will cover the concepts, tutorials and practical examples that both beginners and advanced level selenium users should know, before and when they want to use and develop on this platform.

How should you learn selenium 

Like any other new technology, Code language or any other thing that you want to be good at, the best way is to practice, practice and more practice!, learning selenium is a very challenging task but it’s not different from any other thing that you want to learn.

All you need to do here to succeed, is to follow my series and practice the examples that I provide on your own environment. Although it’s not a guaranty that you become an expert, it’s a great way that may help you become one.


Why should you learn selenium?

There is more than one reason that I can use to answer that question, but the best answer that I can think of is bases on two main aspects that I can describe, based on my many years in the software industry.


Aspect No’1: Automation is the future

Before I will start to explain this aspect, I will say that for me manual testing is the basic method that should be used no matter of what is the tested product (I can write more than 50 posts that will explain this opinion, but this issue is not the main topic here).

Now, I will take the risk and say that automation is the future? Because I have been working in the software industry for more than 10 years, and based on the last 2-3 years I can say with 100% that more and more companies are moving towards automation testing. 

The reasons are obvious:

  • Automated tests are always more accurate compared to the manual approach.
  • Automated tests can run at any time (After work hours, weekends, Holidays…).
  • Automated tests, will reduce the cost that involves in manual testing.
  • Automated tests, will allow you to run tests in parallel executions.
  • Automation testing, will increase the tester’s motivation.
  • Automation testing, will increase the testing coverage.
  • Automated tests, will cut down the regression cycles.
  • Automated testing, will increase the productivity and helps both testers and developers.
  • There are many open source automation tools that companies can use to automate their tests.
  • Etc.

As you can see, there are simply too many reasons that indicates that the software industry is going towards automation testing, a tester that will fail to understand this will just remain behind.

Aspect No’2: The advantages of selenium

The software industry has some great automated tools that can be used to automate your testing process, selenium is one of the best options that available from this list. And why? 

  • Selenium is one of the most common tools that organization are using today to automate their tests, learning selenium will open new doors and opportunities.
  • Selenium is a testing suite that provides the answer the organization testing needs.
  • Selenium supports test executions while the browser window is minimized.
  • Selenium is built to be agile enough to allow the developer to develop with almost all major programing languages (Perl, Ruby C# Etc.).
  • Learning selenium is easy, there is a huge community that shares the knowledge with a variety of Best practices, Articles and Tutorials.
  • Selenium is one of those software that you can easily use and install, without any complex predefined requirement.  
  • Selenium allows you to save time with your testing executions due to the ability to run test cases simultaneously.
  • Selenium supports different operating systems beside the regular Microsoft architectures.
  • Because it’s free… remember that you get some great benefits without spending your money.
  • Selenium can automate tests that can run on all major browsers (Chrome, IE, Firefox, Etc.).

1 comment:

  1. Thanks for this nice explanations David. Automated tests are great. They help us in many ways especially for repetitive and cumbersome tests. Manual test are also needed and they should be much more analytical and intuitive. We should think like a customer, hacker, genius and so on... to break the software and find the flaws. It is also very important for early testing. I loved to read your article.


My Presentations