Why do we need Linux in our test lab


Why do we need Linux in our test lab, and how do we start using it?
Summary:
  • This article is for testers who has never used Linux before. You will see that it is simple and has a lot of advantages.
  • Do you want to dive into the new world of Linux OS, but don’t know where to begin? Then this article about Linux is for you.
  • you can use this article to help you start if your software testing lab is dedicated to testing web based applications and you need to:
    1. verify the compatibility of your system with Linux based browsers.
    2. ensure that your business can support the growing community of its users


    Introduction:

    Popularity of Linux vs. MS Windows in the real world.
    As millions of users already know, Linux is a great choice for office use because it's virus resistant, secure, reliable, and cost-effective. Recently, worms and viruses have wrought havoc on Windows PCs but did not affect Linux. The user interface for the Linux operating system is now graphic, it is becoming closer to what we need and it already has all the basic functionality we use in MS Windows. Searching on Google, you can find that Linux's share of the desktop market is approximately 10 - 12% and is even greater for the server market.
    How will your management react if they find that they are loosing the opportunity to increase their profit by 10%? Now you can see it is time to start.
    On the other hand, many enterprises are now seeing significant financial returns from QA-labs. The savings on OS such as Linux and QA tools such as Bugzilla, JMeter are another opportunity. If you search the web, you will find that current experience shows that open source software like Linux is the greatest insurance policy a QA lab can have. Linux is now trying to find a place on the desktop in the software testing lab.


    Assumptions:
    1. You are interested in increasing ROI (Return of Investment) of your testing lab
    2. You business is somehow web related
    3. You are thinking about implementing some automation of regression testing in your software testing lab

    Let us begin with some popular definitions that will be used: (All definitions in this article are from www.webopedia.com)

  • Linux is a freely-distributable open source operating system that runs on a number of hardware platforms. Linux has become extremely popular during recent time because using it for company needs has a lot of advantages like money saving, security, virus resistance, etc. [webopedia.com]
  • The term distribution, or "distro", refers to the Linux operating system packaged with a selection of free and open source software applications (and ideally an installer).
  • Generically, open source refers to a program in which the source code is available to the general public for use and/or modification from its original design free of charge. [webopedia.com] The main advantage of free & open source software is that all its features are useful and not design to increase cost – as is often the case with highly expensive testing software.
  • GNU (Gnu's Not UNIX). The software system that was developed by the Free Software Foundation (FSF). The philosophy behind GNU is to produce software that is non-proprietary. Anyone can download, modify and redistribute GNU software. The only restriction is that they cannot limit further redistribution. The GNU project was started in 1983 by Richard Stallman at the Massachusetts Institute of Technology. [webopedia.com] It is always necessary to adjust something and it is only possible to do so using open source software.


    I think that there is no need to explain the above definitions and so we move on.
    There are many different variations (distros) of Linux to choose from.
    Let us define the most popular distro you can select for your software test lab:

    "Maybe it goes without saying, but GNU/Linux is not Windows. There are distros that try to be as Windows-like as possible, but there are still some differences. It's going to take some time to get used to any new operating environment. You have to install this distro and adjust to new programs, a new interface, and a new way of doing things.” [Jem Matzan] You know this from your experience of switching to a newer version of a well-known application. Once you're over that initial critical moment, you'll be fine and ROI begins.
    Selecting a Linux distribution for your office can be a topic for a separate article and you can search the Web for this information. But begin with Red Hat Linux and look at Debian Linux as an alternative choice. Debian is considered to be more powerful but Red Hat Linux is looking more user friendly. Just remember that Linux (Debian) should be installed with its maximum set of features. Looking for right distro, you can go ahead and compare the more popular Linux distributions: Fedora Core, SuSE, Mandriva, Xandros, Linspire, and Knoppix.
    "If you've purchased a commercial distribution, you'll get enough support from the distribution company to help you get through the hard times. You'll have email lists, forums, and sometimes phone numbers to call to talk to a support technician. Beyond that, there are many independent forums and mailing lists on the Internet that can assist you." [Jem Matzan]
    If you've bought a boxed distribution, you've probably also got CD with a manual to read that can help you avoid some problems.
    Buying books is another way of surrounding yourself with resources. There are a number of pretty good Linux books, and some of them come with a CD that has distros and other useful applications.

    Let us assume that you choose a distro of Linux. Anyone who has experience with application installation on Windows (not necessary OS installation) can now install Linux on any old PC if enough time is scheduled. For the first installation, schedule one day, but in the future this time can be reduced to half a day. Alternatively, you can use any Ghost Imaging Software, also known as Disk Cloning Software. Also you will be surprised that any network support personnel will accept this installation with pleasure, because for them it is like tasting a new, delicious meal.
    Either way, you will need help from a PC support person to put this new computer on the company’s network and set connection to a printer in case you ever need to print documents from this PC such as screens with bugs found. Setting up a printer from Linux can be a challenge. Also, as many network connections as possible should be configured.

    For installing additional software like browsers, office software and testing tools use the RPM Package Manager (RPM). “RPM is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating computer software packages.” [www.rpm.org]. All you need to do is download the file and double-click on it and follow simple instructions. A very nice thing about installing and updating software for Linux is that in most cases there is no computer restarting required after any installation or software update.


    In a week, you will realize how user friendly Linux is and how easy it is to learn. You will also see the advantages of open source over windows, and you will loved it.
    Coming into the world of Linux will give you a great opportunity to use many free tools that were design only or mainly for this OS. There are a lot of tools for the testing of your system security that work only under Linux.

    Let us create a list of free software that can be useful for testing (use /usr/local/ as a place where to install these applications in Linux). Use the latest available software version.
    1. Browsers such as Firefox, Mozilla, Netscape and many others (see your requirements list for compatibility testing).
    2. For tools that are mainly written in Java, you will need to install JRE (Java Runtime Environment) from http://java.sun.com/j2se/
    3. For creating testing documentation, OpenOffice may be the best choice. It is 100% open source, runs on several platforms, and is freely available from http://download.openoffice.org
    4. For database testing, you can use DbVisualizer from http://www.minq.se/products/dbvis/ or Squirrel from http://squirrel-sql.sourceforge.net/ Both allow the user to work with databases using graphical interface as well as SQL prompt.
    5. For version management check SmartCVS http://www.smartcvs.com/smartcvs/download.html
    6. For bug tracking, use Bugzilla open-source bug tracking software, with a web-based interface. Written in Perl, with MySQL database back-end, you can download Bugzilla from http://www.bugzilla.org/ Bugzilla is the best choice if the number of users is greater than 20. Otherwise look for something simpler.
    7. For test automation, use JMeter, a graphical server performance testing tool, for both static and dynamic resources. You can download it from http://www.jakarta.apache.org/jmeter/ Apache JMeter is a very powerful tool with the ability to create a regression testing suit. It can also be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object in order to test its strength or to analyze the overall performance under different load types.


    You can search for other tools, but do not forget to put the tools listed above on your comparison list.

    Remember that the use of expensive QA tools does not inherently lead to the creation of a bug-free environment. The brittle, buggy and costly systems can be built with any methodology, technology and software tools for automation testing. For example, try to compare one of the most expensive defect and change tracking system – ClearQuest with Bugzilla free open-source bug tracking software and you will find that there are no big differences.
    And remember: Better is the main enemy of good.
    Of course Porsche is better than let as say Ford, but this does not mean that you will come quickly to job or you do not need to go to the driving school and past the driving test if you have no driving license and plan to buy Porsche. The same is with software testing tools. So it does not matter what tool you are using – it is important how you use it.


    Let us summarize some of reasons for the deployment of desktop Linux:
  • Reduced software licensing costs and total cost of ownership
  • You can use free software testing tools that are available only for Linux and save money.
  • You can verify that your web application is working as expected with browsers on Linux
  • Developers requesting Linux
  • Competitors successfully deploying Linux
  • Security
  • Source code availability (ability to customize)
  • Corporate direction
  • You are unhappy with the existing desktop operating system
  • You are tired from rebooting the windows operation system (On Linux you can install new or update existing software without rebooting and do not reboot your PC for months)

    Disadvantage of Linux:
  • The main disadvantage of Linux is that you may not be able to play your favorite MS windows based games anymore.
  • You will have to learn some new definition for well known things like: creating a symbolic link in Linux is the same as creating a shortcut in MS Windows

    Conclusion:
    If you do not start Linux in your testing lab right now, you can miss the right time and later can find that you not only lost a lot of customers but even can’t return on the right track.
    If you start using Linux now you may soon leave only a minimum number of windows PCs in your software testing lab (those that are necessary to cover windows based browsers that you are supporting according to requirements). One thing's for sure, though: the more frustrated you are with Windows and its troubles, the easier it'll be to switch to GNU/Linux.

    And one last point: If you’re still afraid to start, try installing Linux as the second OS with MS windows on the same PC, on the different partitions. It is called a dual boot. Search Google for how to Configure a Dual-Boot System with Linux and Windows. You will have the possibility to choose OS (Windows or Linux) during rebooting your PC.
    Good luck and remember:

    "Talent hits a target no one else can hit;
    Genius hits a target no one else can see"
    Arthur Schopenhauer (1788 – 1860)

    Literature and useful links: [add descriptions]
    www.linuxgangster.org (of course)
    www.linuxforums.org
    www.linuxforum.com
    Find more on Just Linux Online Forums
    www.linuxquestions.org
    www.reallylinux.com

    If you have any suggestions for programs you think may be useful for testing, drop a note at http://extremetestingsphere.com and we'll take a look.
    read Linux Configuration Tips for your Testing Lab

    In this article, I would like to summarize my 2 years of existing testing experience in a .COM Company, sitting on Linux PC and using a great number of free and open source software for testing.

    On this page I put some ideas -Why do we need Linux in our test lab, and how do we start using it. It can be useful software testers This ideas are very simple to implement but can be very useful for software testers.
    END Why do we need Linux in our test lab, and how do we start using it.



    eXtreme Software Testing   Main Page
    © January 2006 Alex Samurin http://www.geocities.com/xtremetesting/