Unix basics for software testers

No matter whether you are working on stand-alone project or web project, operating systems and networking knowledge is must for testers. Many testing activities like installation testing, performance testing are dependent on operating system knowledge. Nowadays most of the web servers are Unix based. So Unix knowledge is mandatory for a tester.

For the beginners in Unix, learning basic Unix commands is a good start. This article explains basic Unix commands and in next article, we will move on to the Unix operating system basics and advanced Unix commands.

The best way to learn following commands is to read and simultaneously practice them on Unix operating system.

These are the Unix commands that are mostly used while interacting with Unix servers. Most of the time you might be interacting with Unix OS through remote windows machines using software like ‘Putty’. In such testing environment, this article is very useful.

You can download the article written by Meenakshi on Unix basics for testers on below link:

Download: Unix basics for testers article (Doc file)

I will continue this series of “soft skills required for testers”. Here is a list of skills on which I will concentrate in coming posts:

  • Operating systems skill for testers.
  • Networking skill.
  • Database ( Mainly SQL) knowledge for testers.
  • Basic programming skill.

All these skills are required to become a successful software tester.

If you think any other skill should be also included in this “soft skills for testers” article series then please let me know in below comment section. I will work on those subjects to include them in my future articles.

Update: For software Testing job seekers, I have updated our Job page with two new openings. See more details on these job openings on below links:

Don’t want to miss any tip? Subscribe Via Email!


#1 suri

This is very useful to me , becs Im going to be UNIX testing.So, kindly send me more documents on UNIX testing pls.

#2 shabeena

This s very good article (very simple sentences), a layman can also understand this thing. Thnx for giving such a nice article.

#3 Jayant

HI Vijay


Of course the above skills are necessary for testers.
In addition to the above I would like to add, when we talk about Soft Skills necessarily it points out towards the personality as a professional. And that would include – COMMUNICATION SKILLS, INTERVIEW TECHNIQUES, RESUME BUILDING, LEADERSHIP SKILLS & PRESENTATION where I would like to contribute if you find it suitable to include along with the details mentioned by you above which more constitute the technical skills sets. Kindly me update me on the same so as to take it further.


#4 abhishek sharma

i want to learn software testing tools

#5 ashutosh

Thanks Vijay..you are really lots of people.

#6 ashutosh

Thanks Vijay..you are really helping lots of people through your articles.

#7 Jayant

Hi Abhishek

Where are you from?
Are you currently working in testing, kindly forward you resume at jayant1966@gmail.com


#8 Thragor


a promising start for this series – although I learned nothing new from the beginners guide. Well, ok: I am no beginner ;-)

I am curious about the advanced Unix commands and Operating System Basics. Would expect to find information about e. g. kill/ps (especially on the different IX Systems, e. g. ‘ps -ef’/’ps aux’) and about the different directories like /etc and /var.

Looking forward to it :-)

– Thragor

#9 balu

Thanks .. This is a very good article it will helps alot

#10 Jegan

I want to learn database testing. Please send me the articles.

#11 santhosh


Thanks for the above article.
As i have started to study sofware testing from net.. Is its enough to find a job on testing. Right now i am working as a Mail Analyst. Guide me, shal i join for the testing cousre. which institute is good in Bangalore.

Santhosh Kumar

#12 Purvi

I want to learn more about OS, networking & web site testing, could you help me out?

#13 Chandika

It’s really good.But it’s not enough,if a tester will work on Unix environment.
Specially needs more to clarify

#14 Chandika

It’s really good.But it’s not enough,if a tester will work on Unix environment.
Specially needs more to clarify.Please follow the given website,really will help you.



#15 pooja

hi vijay

i juz hav given exams of mca..n wanna go for s/w teting..i don hav much knowledge abt s/w testing..so wanna join s/w tsting ins to be a tester …so can u tel me d best ins for s/w testing ..n sum1 has suggested me to do this fr webtek labs…its a company who providing traning for s/w testing..so if u knw abt dis den plzzzz suggest me wat to do… i will be really very grateful to u

#16 meenakshi

To learn software testing in Bangalore a good institute is there in indiranagar,behind coffeday..KARVIN.

#17 Vijay

Hi all,
Thanks for your kind words.
This is the beginning series on Unix and don’t expect all details in one article. We started with Unix basics. As many readers are asking for more detailed resources on Unix we will work on providing more and more guide on all topics of reader’s interest.

I strongly urge to our readers if you are expert in topics mentioned here like Unix, Automation tools etc., you can answer readers queries in comments or can also write about your experience in testing.

#18 chandravadan

hi vijay..
i want to know that visionplus is any testing method or type of tool used for testing purpose?

#19 vidyarani

iam just now registerd
As i have started to study sofware testing from net.. Is its enough to find a job on testing. iwnt more information about i wnt to learn how to write test case
pls help me out

#20 Archana Bhattacharya

i want to learn software testing tools

#21 pooja

thanks meenakshi!!bt i live in delhi..wat abt webtek labs school of s/w testing..its in naraina

#22 pooja

thanks meenakshi!!bt i live in delhi..wat abt webtek labs school of s/w testing..its in naraina..so plzz suggest me ne ins in delhi

#23 venkata


Please let me know how to do unix / sql testing with example?

#24 hari

Hi vijay,

i like to go through the Database testing.Please publish articles related to Database testing…….


#25 Mohan D

Ya,u mentioned all are imp,apart from that one Functional Automation Tool(QTP),Management Tool(TD),Version Control tool,Domain and Functional Knowledge.
Thanku ur article simply superb

#26 Anil


can give some examples on unix/sql testing with examples.


#27 Rajupavan


This is Rajupavan. I want to know the information about software testing on UNIX environment. Plz send the information.


#28 ashutosh

hi Vijay , your articles are good but can you write some example for how to write descriptive programming and how to use it… you can use Flight Reservation application..
Please write some article on DP..
Its very imp topic


#29 Radhika

hi vijay
can u kindly send me more advaced topics related to testing on UNIX along with some good example..


#30 balaji

hi Vijay

I have some knowledge on SQL,unix and shell programming.how can use these concepts in testing.i want to become a backend tester.could you pls give me some suggestions.


#31 vikas

Thanks for kind suggestion. Well I was asked in the interview about unix vi editor (how to use it). So could u send me articles regarding these.
and Could u send me the url if possible where I could practisc unix commands as I don’t have the unix operating system installed.
Regards Vikas

#32 Vikas

Hi Pooja
I have also taken s/w testing course from Webtak Labs. Its a good going..but stil u r likely to face struggle.
for more information ..write back to me.

#33 Shabeena

Hello vikas,
These r som links to understand vi.
I hope u will find it easy………:)


#34 Vikas

I am not the same vikas. I am different and the one who asked about Unix VI is different. But thanks for the information. I hope to be benefitted by your information. Shabeena..i would like 2 know something more from you. can u give me ur e-mail address?
Thanks and regards.

#35 Vikas

Hi Pooja, i have taken s/w testing course from Webtek labs. for more info..u can write back to me. plz mention ur e-mail address..so that i can send u info directly to ur e-mail.
Thanks and regards

#36 Vikas

Hello Pooja,
You can write to me. i have taken S/w testing course from wektak labs as well. plz write with ur e-mail address..so that i can directly reply to ur mail.
Thanks and regards

#37 Milind

This is really a very nice article. Thanks for such good suggestions.

#38 shabeena

Actually i helped tht Vikas only, I din’t know his ID, So i thought this s the better way to help tht vikas………
And abt u, pls give me ur id, thn i wil send u my ID………..:)

Any way thanx for informing me tht, thr r 2 VIKAS in ……………:)

#39 Vishal


When ru planning to come out with posts for the topics listed below:

Operating systems skill for testers.
Networking skill.
Database ( Mainly SQL) knowledge for testers.
Basic programming skill.

#40 Vikas


#41 vikas


Well ur links are proving to be great help regarding Unix testing and am able to understand atleat Basic Unix Operating sustem and its operation.
My email id vikas_be2001@yahoo.com

Well I am the one who requested abt the unix in depth knowledge related to testing and use of VI editor in testing the software. It is wonderful to see u testing professtionals on softwaretesting help.com and being so helpful to those who are new to this field. I highly appreciate .

My another query is related to server side testing. How do we do it as It is a essential part in transaction related projects like amazon.com.


#42 puneet

Hi. i’m puneet from Bangalore.. currently working in a software company..i got very useful information.. thanks Vijay.. i want to know about use of sql in testinn.. plz give the valuable information..
thanks and regards

#43 Jaykay

Hi Puneet, can u give me ur mail id pls, I need one help from u! or send test mail to this id jayakrishnamohan@gmail.com

#44 anitha

i need some real time testing process which is used in some mnc companys with template

#45 anitha

i need some real time testing process

#46 puneet

hii Jaykay.. my email id is puneetec58@gmail.com.

#47 Srini

Very useful bit of info

#48 sangameshwar

Hi all,
I have question for you all,
What could be your answer to customer if you come across post release defect.

#49 sonali

Thanks for the above article.
I want to learn database testing. Please send me the articles.

#50 Bhuwanesh sharma

Today i visited this site for the very first time and this is true that i never see sooo good site like this… i mean i can find everything i want related to testing , soft skills jobs etc… You guys are soo helpfull… Thanks all you guys…..

#51 Bhuwanesh sharma

hey guys try try this link
“http://www.ee.surrey.ac.uk/Teaching/Unix/unix1.html ”

It may help you more for UNIX

#52 Vikas Sharma

HI VijEveryone

Could anyone send info about database testing in real environment.
like Some name of good sites if possible
My id is vikas_be2001@yahoo.com

#53 Prasad

Cany anybody give me any opensource testing projects on unix??????


#54 Syed

Hi Everyone,

Can anyone please let me know, where can i get UNIX OS & how can i install and practice on that.

Kind Regards

#55 zakir

Hi all and vijay,

Need an information from you. Suppose if I happen to work in Unix OS and I would’ve told to test / monitor the process and log information of the application how do I go about it. And is this testing is what we call Interface testing. Please let me know your thoughts.

many thanks

#56 zakir

@ Bhuvanesh

Thanks a lotttttttttt frnd. Thats a wonderful site for unix man.

#57 Vishal Chhaperia

Hi Vijay,

Thanks for UNIX command.
It will reallly help us to develope our skills.

call : +91-9830704327

mail me: bishalchaperia@gmail.com

#58 Smitha

I have done my MS in CIS in USA and I am looking to start a career in Software testing. I need to know where to start at and what tools and languages to learn. I also need to know what are the different certifications in testing.
Thank you in advance and I really appreciate all your help.


#59 Vijay

Hi Smitha,
If you are really interested to start a career in software testing then please go through this site and prepare a resume that suits for a testing career and apply for the vacancy of a test engineer and upload your resume to various consultancy services. No need to do any course as of now, let companies train you to their needs.

#60 satyavir

thanks ! its really nice material for me

#61 priti

I have some knowledge on SQL,unix and shell programming.how can use these concepts in testing.i want to become a backend tester.could you pls give me some suggestions.

#62 priti

i m working into development side .now i want to build my carrer in testing .now i started reading testing articals from net.is it necessary to take any testing course? i have the knowledge of unix shell scripting,sql. need to know where to start at and what tools and languages to learn. I also need to know what are the different certifications in testing.
Thank you in advance and I really appreciate all your help

#63 Tarun

hello dears,
i want to know what is the different between a Windows tester and UNIX tester. i am working on UNIX (Linux) environment, and we are using one auttomation tool to do our testing work. shall i call myself as UNIX tester. i mean can some tell me if i called myself as UNIX testere i should have which types of knowledge on UNIX.


#64 venkat

all the best to everyone send me some testing docs on unix

#65 venkat

hello send me testing docs pls

#66 name


#67 aruna


#68 Abhishek saxena

will any one of you suggest me a good book on password hacking????

#69 sri

HOw much unix skill is enough for a tester.suppose if i want to execute qtp scripts for a web application in unix environment.how can we connect to a unix server ,if the client is in windows environment

#70 zakir

@ Sri

Since you are going to test only on the Client m/c you don’t need to know much about the server part(Unix) friend. And as you are aware that QTP does not support UNIX OS. Anyhows its always better to be handy with the UNIX OS, a little bit of shell commands will do.

zakir :)

#71 ezhilmaran

i like to study unix testing, if anyone know about the coaching centers in chennai or in bangalure plz mail me,

My email id is ezhilmaran@rocketmail.com

#72 Sridhar

Currently I am working as Data Analyst,
I am Interested in Learning Unix ,Can you please suggest me a Book that is Easier to Understand and provided with Examples / or the Location from where I download the Material and Take a Print of that.

Thanks!!! in Advance
Please Reply..,
Sridhar Srigiri

#73 Sridhar


#74 zakir

Hi Sir,

The below link has some good stuff on unix/linux for freshers



zakir :)

#75 Srikanth

Hi, This Unix commands document is very useful for me.

Thanks a lot

#76 keerthana

Please pass any info on UNIX, how much knowledge does testers need on UNIX? any good sites to learn UNIX?

Thanks for your help.

#77 keerthana

Please pass any info on UNIX, how much knowledge does testers need on UNIX? any good sites to learn UNIX? My mail id—keerthanakoluvu@yahoo.com

Thanks for your help.

#78 Durai


Thank you for making such an powerful OS to learn easier.please advice what are the basic and very important topics we should cover for interview and please provide such a documents for our further improvement in unix.

I would like to get the documents for following topics in unix

1.User creation and related topics.
2.process in unix.
3.Run level in unix.
4.How we can make unix as GUI?.
5.How we can mount the device.
6.How we can connect and access the device eg pendrive in Unix OS.
7.usage of TAR commands.

Could you please guide us to improve our knowledge and we will appreciate if you share further important topics which was not listed above.

Thanks and regards


#79 Rashed

hi dears,

am new to this windows ,an i want to learn unix and shall programming any one can send me on my mail or at r.alghailani@gmail.com .


#80 ekta

Pls explain how tester test application on unix enviornment, is it to check log file, what is that pls explain.

#81 Smita

What is the post unix tester means

#82 Srikant

Thanks a lot for sharing the url’s related to UNIX testing.
Can anyone please send information related to database test?

#83 bluestone

plz use this blog for posting jobs testing related materials

#84 sourabh

Hi…the basic Unix knowledge was really helpful for a beginner like me………..just a suggestion to keep updating the recent job openings posted on the site.
Please send me any testing related articles to sourabhsinha12a@gmail.com

#85 logesh

i want to know about softwate testing tools, can u send me those details

#86 shaan

This site is very good for fresher in Linux.
Very well explained server part.
N a very friendly site.

#87 sacin

send me material on id for shell scriting

#88 m.shanmugam

good morning,
hi i want learn manual testing plz send me for study material above mail..


#89 Venkata

I got a job in Testing with Unix & SQL so pls email me the related material which will be very helpfull to me
thanks for the help

#90 Mina

lqtLpt Ppl like you get all the brains. I just get to say thanks for he answer.

#91 rinki

use of unix. and you can run the step &create tha unix commnand.

#92 gfvr
#93 priyanka devi

thanks a lot. it gives us more useful informations

#94 uday

plz inform any openings up to 0-2 years exp in manual,automachine

#95 Rohan

ny openings..?? 2+ manual as well as DWH

#96 vishwa

how to run qtp in unix commends else putty or passport

#97 Khushi

Hi All

#98 Khushi

Hi All,
I am new to Unix and wants to know about Unix,how to test Unix Application,what type of questions ask in Interwiew,please share the info,.it will help me lot
Thanks in Advance.

#99 krishna

I am new to this website and also first time mailing. Anyone have dummy projects on testing. please

#100 kavita

Hi Vijay,
Can you please elaborate on embedded testing

#101 suresh

Hi Friends

Can any body pls help me out to know how to test a web application completely… with all kinds of testing(from start to end).

#102 Mohan

Hi Vijay,

After long back get a chance to read this useful Linux article, really good as well as lots of readers post their Queries, its awesome.

I am not familiar with linux, but bit aware of this OS. Herewith shared some information, hope it may help you all.

Linux has more than 650 commands and every command has its own set of options all performing different operations. Going through each and every one of these commands will be a very tedious task. However limiting yourself to only a few of them is never an option. The trick here to learning all these commands, is to categorise them according to their function. By doing this, you will know atleast the basic commands and have some measure of control over the Linux command line.

When you go through these commands, you will be able to perform different function as per your need in the Linux command line.

Basic Commands
User Account
Network Commands
Archive Commands
Help Commands
Package Management Utilities
Process Commands

Basic Commands

The ‘must’ know commands fall in this category. I have distributed the commands into two sub categories: Directory commands and File commands.
Directory Commands

pwd : Print working directory
mkdir : Create directories
cd : Change the current directory
rmdir : Remove directories

File Commands

ls : List directory contents
rm : Remove files
cp : Copy files from a source to the same or different target(s).
mv : Move file to different targets.
cat : Read one or more files and print them to standard output. If you need to

view contents of a short file, cat is recommended.

cmp: Compare two files byte by byte.
wc: Print the number of new lines, words, and bytes in files.
du : Estimate disk usage of each file and recursively for directories.
find: Search for files in directory hierarchy, e.g. find notes.txt
grep: Print lines matching a pattern,e.g. grep –i topic notes.txt (topic is the pattern)
sort: Sort lines of text files


Every Linux program is an executable file. For instance, the cp command is provided by the file in /bin/sh which holds the list of machine instructions. Similarly, if you are installing a package , let’s say vsftpd, your focus will be modifying its configuration file , vsftpd.conf present in /etc directory. This is where you will be using editors.

I use ‘Vim’ frequently. It’s an advanced text editor that comes with a more complete feature than the ‘Vi’ text editor. The other text editors are: nano, vi, kate, (KDE Advanced Text Editor), gedit (graphical user interface).

e.g. vim rabi.c ( vim filename ).
User Account

In linux, you can say that using the ‘root’ account is like having the powers of God. You will have access to almost each and every file(configuration files, system , text files etc) with no interruption and restriction. You need to be very careful while doing work as the root (super user). Therefore, managing user accounts and groups is an essential part of a system administrator.

For example, an organization ABC has three departments: Marketing, Technical and Account, each department having 3-4 employees. The organization demands you to verify the users of marketing, technical and account departments so that the employees of each group will be able to view his/her own department file.

Given a scenario, if you know how to manage these accounts, you can easily set permissions for the users mentioned above. If not, these commands are essential for the task.

useradd : for creating user account.

This command can be executed by administrators only. On debian, you should use adduser. For other options like adding expiry date, home directory etc refer man useradd.

passwd : for changing user password.

If the user has set password before, he/she will be prompted for the first password whereas superuser is permitted to bypass the step so that forgotten passwords may be changed.

You can find advices on how to choose a strong password on http://en.wikipedia.org/wiki/Password_strength

usermod : modify user accoun.
userdel : delete a user account and related files

This command can be executed by administrators only.

groupadd : create a new group
groupdel : delete the group and entries referring to the group
groupmod : modify a group definition on the system
chmod : modify properties for users
chown : change file owner and group
chgrp : change group ownership

Network Commands

Linux is predominantly known for its use in servers. In 2009 it held a server market share ranging between 20–40%(source : wikipedia). One should know the commands to check the ip address, download files from the net, get DNS, etc.

wget : a non-interactive network downloader

Even if a download fails due to a network problem, it will keep retrying until the whole file has been retrieved. The server will instruct to continue to download from where it it left off.

$ wget url-for-file

ping : send ICMP ECHO_REQUEST to network hosts, you will get back ICMP packet if the host responds. This command is useful when you are in a doubt whether your computer is connected or not.

$ ping IP or host name

hostname : show or set the system’s host name

dnsdomainname : show the system’s DNS domain name

netstat : displays the status of ports ie. which ports are open, closed, waiting for connections. It displays the contents of /proc/net file.

ifconfig : configure a network interface, or to display their current configuration. It is also useful to get the information about IP address, Subnet Mask,set remote IP address , Netmask etc.

ifup : bring a network interface up

ifdown : take a network interface down
Archive Commands

You want to install a package from its source code. You find out that the source code of the package is archived in a file xxx.tar. In this situation, the command-line utility ‘tar’ proves to be a vital resource for you. The ‘tar’ is probably the most popular Linux backup utility. If the ‘tar’ file is compressed with the compression utility like ‘bzip’ or ‘gzip’, the resulting file is the famous ‘tarballs’ which is a common method to deliver software installation archives.

tar : an archiving program designed to store and extract files from an archive known as a tarfile.

Options :

-c : create a new archive

-r : append files to the end of an archive

-t : list the contents of an archive

-u : only append files that are newer than copy in archive

-x : extract files from an archive

-C : change to directory Dir

-j : filter archive through bzip2, use to decompress .bz2 files.

-v : verbosely list files processed

-f : use archive file

-z : filter the archive through gzip

Examples: tar -xvf test.tar ( extract foo.tar to the current location)

tar -xvzf test.tar.gz ( extract gzipped test.tar.gz )

tar -cvf test.tar foo/ ( compress the contents of foo folder to foo.tar )
Help commands

There are manual pages for almost all the commands of Linux. You can access the manual pages using man command. The man command offers documentation of the command. If you type:

$ man ls

You will be seeing the manual page of ls with its name, synopsis, description, author, copyright etc. Remember, there is a manual page for the man command itself.

If you desire to have a brief reference of the command, use -help option with the command. $ ls -help

You can even use info command to have a quick overview of the command. $ info ls

Remember, that memorizing all the commands in Linux along with all its options is a very difficult job. So memorise the command and options which has frequent usage and leave the rest to the HELP commands.

Please go through below mention links as well.



#103 Sameer

Hello Vijay,
Really nice to see ur earlier posts to some of the guys over here, its so helpful.
If we have to make a fresh start with Automation tool then which will the best to start with, as I currently don’t have experience on automation.
In how much extent Unix commands needed for testers?

Hoping ur reply at earliest.
Thanks in advance !

#104 Sameer

Can anybody tell me which is good institute in Pune to learn Automation tool?


#105 sravanthi


I would like to chnage from .net to testing field.I am having 2.3 exp in .net.I have decided to change the platform.Now my problem is whether i have to search the test jobs based on exp or fresher?I need your suggestion.Please help me out.

Thanks & Regards,

#106 Antony

i am Senior Testing Engineer

#107 cupid

kindly send me some more questions and answers.on unix from a tester point of view.

my mail id is varunpratap086@gmail.com

#108 bristy

Can anyone please tell me how a tester use unix/linux to test an application? what would be the process. Please someone answer this in detail.

#109 AgentHHH

CAn anyone help in knowing more about Banking Domain

Kindly provide links


#110 Hemant

Hi Everyone,Can anybody help in installing the hp qc 11 on linux server ? Thanks in advance.Hemant

#111 Ankit

Hi ,

Can anyone provide me some docs for unix testing and database testing.


#112 mayuri

i am interested in network testing .
since i am beginer i don,t know anything abut it but i like networks and testing pls suggest me the materials and scope of network testing.

#113 Nitin

I have 5yrs of exp in Manual Testing now want to update skill set with Shell Scripting & Basic Networking.
So can anyone suggest is it will be beneficial for me?
Please Suggest institutes in Pune.


#114 Sukhada Naik

I have 1 year experience in manual and automation testing please suggest me is there any vacancy for same.
And is it necessary to learn UNIX for manual testing?

Leave a Comment