Importance of Software Testing in the Tech World

We have reached a stage in human evolution where we can safely say that it is the various software used by service providers corporations that rule the world. Software companies spend a lot of money and manpower in creating software that satisfies the requirements that were specified by their clients which include individuals or enterprises. Along with the development of software, these companies are also required to ensure that the software performs as desired by the client. Like any other product that is manufactured, software can also have defects in the form of bugs in the program and they need to be tested rigorously before deploying. If the software does not perform as promised the company will face loss of its reputation in the market. Software testing can include general testing, load testing, functional testing, and regression testing.

General testing is a test that is carried out to ensure the functionality of the new software. The usual parameters that are tested include web performance and usability testing. The performance of an application online is the factor that is tested in general testing. The usability of the software in a given set of circumstances is also tested in order to help the engineers understand the areas where there is a scope of improvement. The general testing is a very important step that not only helps in testing the software and assessing the ability of the development team but also ensures that the end product that reaches the client is according to the specifications set by him.

Load testing is also a software testing process that checks the impact on the software during periods of higher than normal load. This is done by simulating operating conditions that exceed the normal load than what is prescribed for the software. This is different from stress testing in the fact that it checks the operational capabilities in normal and high load capacities while the stress testing checks the capabilities in events where errors are induced in normal operations. Load testing helps the developer gauge the multi-user support capabilities of the software. Load testing is very useful because it can find out the reasons for low performance.

Functional testing is done by identifying the functions of the software and creating input data that matches the identified function. The output is also determined and it is compared with the expected output. The obtained output and expected output are compared. Regression testing is performed to identify the bugs that are present in the functional and non functional areas of a system. It is done to ensure that using a patch or upgrade will not lead to the introduction of a new bug into the system. Repeated regression testing needs to be done to ensure that the software is glitch free during operation. Each of these testing methods has been designed to ensure that the software that reaches the client is as perfect as possible and satisfies the client to the maximum. They are an unavoidable part of quality assurance of software products in today’s world.

Author Bio: Frank Olson is a veteran freelancer and is currently working as special reviewer at EssaysOrigin.com, an online portal to find out best essay writing service reviews.

Forum for Learning and Sharing Software Testing Knowledge

In my previous post, I had informed about Job Search Engine useful for searching latest Job openings for QA and QTP.

In this post, I will tell about our Forum which can be used for learning Software Testing and QTP quickly and easily.

You can join any Discussion related Software Testing and Test Automation here.

If you have any questions, you can ask them in our Forum. I will answer for your questions.

And, if you are having good experience in Software Testing and QTP automation, you can answer for the relevant questions there. Apart from answering questions, you can share links useful for learning Software Testing and QTP Automation.

Knowledge Sharing is the Learning, Learning is the Knowledge Sharing

Searching Latest QTP and QA Job Openings becomes Easy Now.

We have launched a Job Search Engine for allowing the users to search latest job openings easily without requiring them to use lot of job sites and employers career pages.

Though this Search Engine can be used for searching any kind jobs, we have specifically optimized it for effectively searching QTP (Quick Test professional) and any other QA (Quality Assurance) related job openings.

You can start using it at here.

In the search results, if you are not seeing any job openings from your favorite company, let me (rajamanickam.a@gmail.com) know so that I can make this job search engine includes job openings from that company also in future.

And, I have announced Special Offer price for buying eBook version of my Book “Software Testing and QTP Automation”. You can see the details here.

If you are interested in buying this eBook, you can do it before the Offer ends.

Best Practices for developing Quality Software in Efficient Ways

Personally I had worked in various software development projects ranging from small projects to big projects.

For any kind of project, the ultimate purpose will be delivering Quality Product on Time within Budget. It is applicable for any kind of project. Each project will be unique and therefore each project will require different approaches to achieve these things.

But, certain things will be common for any kind of project to deliver Quality Product. I am listing those common best practices in this video.

The quality of this video may not be good, as I am not having enough time to spend for creating Quality Video. But the things that I had mentioned in this video will be really useful as I came up with this list purely based on my many years of experience with various projects.

Feel free to suggest any other useful best practice thro’ the comments.

Review of a Cloud Based Software Test Management System

Test Management Tools are very important for effectively managing your Requirements, Test case preparation & execution and Bug reporting.

There are many Test Management Tools available on the market, a few example of which include HP Quality Center and IBM Rational Quality Manager.

HP Quality Center is sold as a web based Tool, but in order to allow users to access it from the web browser, it needs to be installed in an in-house server. Quality Center also requires installing some ActiveX controls in the Client machines.

Setting up and using HP Quality Center requires some skill. I often get requests  asking for guidance to set up Quality Center. In fact there are a number of courses on offer aimed solely at teaching people how to use Quality Center.  Additionally, the price of Quality Center used to be high.

I used to ask myself why there is no efficient Test management Tool available at an affordable price so that small startups and companies can also use them?

Recently I got to know about a Cloud Based Software Test Management Tool  called “ReQtest“. ReQtest is be provided as a SaaS service (Software as a Service).

If you are not very familiar with Cloud computing or SaaS, you can read this post. In summary, using the Cloud you will avoid the burden of installing and setting up the software or Tool and it will make updates to the software very easy.

Though Cloud based systems have many advantages, there are few things that  need to be verified before you start using Cloud based system. The important thing is a low Downtime. The latest technologies help to have almost a full uptime. Anyway, we need to make sure that Cloud based systems are using those latest technologies to avoid any Downtime. Another important thing is taking Data Backups so that we can continue our business if something unexpected happens to the Server Data. Given that ReQtest is used by big companies such as Sony Ericsson and Thomas Cook, I believe they have an excellent Server Uptime and enough Data Backup facilities.

ReQtest is seamlessly integrated into three modules for writing the requirements, writing and sharing test cases and for bug reporting.

Requirements

ReQtest makes creating and managing requirements effortless. ReQtest supports both agile and traditional development methods and makes it easy to get an overview of all your requirements.

Using ReQtest, requirements, design documents and test documents are all stored in single place,  instead of  spreading  out over different servers, e-mail, document archives etc.  Since ReQtest is web-based, it allows various stakeholders to view the requirements.

Ranking and prioritizing requirements is  a simple task in ReQtest.  We  can prioritize requirements using any kind of scale: numeric, high/low/medium, or the MoSCoW scale (Must, Should, Could and Won’t).

Test Cases

ReQtest has a test case module in which test cases can be written and assigned to testers in a team. Test cases can be easily grouped so you can follow up on results,  for example to find test cases with status OK, failed or not run.

When you create a bug report from a test case, ReQtest automatically copies information from the test case to the bug report. This makes it easy to quickly create structured, high-quality bug reports.

You can Customize the contents of forms in ReQtest to make them fit your process even better. Some of the things you can change include the contents of lists as well as adding, reordering and removing fields.

The key features of the Test Case module of the ReQtest Tool –

  • Checklists are a powerful complement to test cases, allowing you to quickly create lists of short test instructions.
  • Traceability allows you to see which requirement a test case is based on, and which bug reports are linked to a particular test case.
  • It is easy to attach files, for example design documents, use cases or screenshots.
  • Test cases can easily be e-mailed to project members or other persons

 

Since ReQtest is web based, you can share test cases with both our customers and suppliers, with different access rights for each if required.

Bug Reporting

You can easily customize the contents of forms in ReQtest to make them fit your business. You can rename, add and remove fields as well as use your own scales to describe the priority and severity of bug, for example using numeric scales, letter scales, or descriptive texts. Bug reports can easily be e-mailed to project members or other persons

Starting to use ReQtest is NOT a difficult task. ReQtest is structured in a logical manner and can be easily understood by anyone who uses a computer regularly.

ReQtest has extensive statistical functions which are particularly useful when working with requirements and test cases, especially for decision-makers at various levels.

You can choose different chart types and export charts as an image or an Excel file. The traceability matrix gives a clear summary of all the links between requirements, test cases and bug reports.

ReQtest allows the users to save Frequently Used Searches so that they can be accessed easily later.

And, ReQtest give you Free support by phone, by e-mail and remote desktop.

ReQtest offers a 10 day free trial for the Tool with full access to all features. Starting your the Free Trial is easy.

You just fill this Simple Form for getting the Free Trial. Once you submit the form, you will receive the verification link to your email. The verification link will allow you to set a password for your account and you can start using the Free Trial right away.

It seems they are providing the User Interface in two languages (English and Swedish). You need to choose your preferred language when starting the Trial. I chose “English” and started exploring the various options available in ReQtest. So far it all looks good. You can share your experience of the ReQtest trial in the comments section.

Click here to get a free 10 day trial of ReQtest.

Watch below Video giving overview of ReQtest.



Test Strategies for Testing Automatic Resume Submission Service

Few years back, we have developed an Automatic Resume Submission Script.

i-e If a job seeker enters his Resume details in one place, the script will automatically create User Accounts in many U.S job sites for him, and it will automatically post his Resume details in all these Job Sites.

This Kind of Script development is NOT an easy task. It involves lot of complexities. And, we haven’t started doing it properly. Initially we did similar script for one particular customer as a custom development, and later we enhanced it further to bring this Automatic Resume posting script.

Since, we are a small Team with limited budget, right now we are doing some kind of AdHoc testing only.

I am writing this post to initiate a discussion about exploring various Testing Strategies suitable for improving quality of this Automatic Resume Posting Script without requiring more Resources and Time.

Before discussing Test Strategies, let me give some details about this script development.

The important Steps involved in this kind of script development are,

– Automatic resume posting can be done in two different ways. One is, using javascript for auto filling the Forms in the job sites by accessing the DOM of the web page in the Client Side (i-e User’s browser). The other way is, posting the job seeker resume details to the Job Site using php cURL at the http protocol level. (i-e From Server where the Script is Hosted)

The second way (i-e php cURL) is involving some risks. Since the data for all job seekers are getting posted to job sites from same IP Address (i-e same server), the job sites may block that IP address if they thought that it is a DDoS attack.

But I came to know that almost all job sites are encouraging to automatically receive genuine Resume details of Job seekers to increase their customer base. That’s why, they are allowing continuous posting from particular IP. So, I decided to go with the php curl approach.

– First we created set of Function libraries for posting data in various situations (e.g GET method, POST method, with SSL, etc). Unit Testing of these functions is done by hardcoding the resume details in php files.
– Then, we did mapping of various fields of various job sites in mysql tables. (e.g The Input Resume will say experience as 3 years, but one job site will be having option for specifying experience  as “2-4 Years”, and another one will be having the option as “more than 2 years”. We need to map them manually onetime in mysql tables)

– Once after completing Function library creation and Job sites Fields mapping, we started creating php files for each job sites for getting the resume details and mapping details from db and post them to the corresponding job site. Live HTTP header firefox Add-on helped much to do this job. Some job sites will he having Captcha entry. The php script is developed to show the captcha image while doing resume posting.

– Then, created few php files for integrating posting of all job sites and for updating the status of account creation (account creation may fail if the user name already exists in particular job site) and resume posting process.

– Then, created user interface for allowing the Job Seekers to make payment, use discount codes, see reports, do Auto login into job sites, etc. And, created Admin Interface for managing users and resume posting.

I think I have given enough details about the background of this script. Now, let us start discussing about Testing this script.

The important challenge of Testing this Resume submission Script is, we can NOT have any separate Testing Environment. For testing our Time Sheet application, first we setup timesheet script in our local machine, and we will move the code to server only after completing the testing in local machine. We can do whatever we want to do testing in the local machine. But the samething can not be done for testing the Resume submission script. Even if we setup the script in local machine the script need to post the details to the external job sites only.

So, we can not Test the script with junk data as it will spam the job sites.

The Next challenge for Testing the script is, the difficulty of choosing appropriate Test data. As I specified earlier, data Mapping plays important role in this script. So, if you decide to test the script with various test data to test the script including the quality of mapping, we will end with thousands of test data. So, it is NOT feasible to test the script completely by giving Test data. The only workaround is, we need to manually check the mapping in mysql table, by going thro’ the lot of mapping data. It is really difficult task and we will be missing to find some incorrect mappings.

Almost all job sites are updating their user interface frequently. Some job sites are getting closed and some of them are acquired by huge job sites. Some jobsites change their CMS completely. So, the script needs to be updated frequently.

As part of the regression testing, we need to find some way for testing the entire script whenever we update the script. (either the coding or mapping). I think just doing adHoc Testing is NOT enough.

Right Now, I am thinking one approach for testing the script with real data. Instead of testing the script with junk data, I plan to allow the Job seekers to use the Resume Posting Service at very cheap price, in return they need to inform us if they find any issue in the job postings. I am working on creating some Special Discount Codes for the Job Seekers who are interested in joining this plan.
This approach won’t do any harm to the Job seekers. Because during this phase, our Team will be manually checking the quality of resume postings by logining into the each and every job site once the script completed the automatic posting. We can easily update any data if our Team find any issue.

Similarly, I am Planning to sell few copies of this entire script at very low price to the people who are showing willingness to cooperate with us to increase the quality of the script and to maintain the quality of the script at long run even if the job sites are getting changed frequently.

Let me see whether this approach works or not. Anyway, I believe there should be some other ways to test the script properly. You can share your thoughts thro’ the comments.

Update: I have tried above approach, but it didn’t work out as most of the script buyers didn’t spend time for reporting the issues. It seems they bought the script to get details about how we developed this script so that they can use the same concept for various of business. So, I had come up with this investment plan.

Bugs in LinkedIn and Flippa Too

Linked is a professional networking site used by huge number of professionals.

It seems small bugs are there in this kind of website too. Today I asked a question about QTP certification in LinkedIn and wanted to share this question to the Quality Assurance related LinkedIn Groups. While choosing the Group name I wrongly selected “SEO” group instead of “Software Testing” Group name.

So, I wanted to delete the SEO group name. But I couldn’t delete it as the icon for deleting the name is NOT visible because of the length of the SEO group name is more than the text box length.

I closed the “Share” pop-up window to remove the SEO group name. After doing this, I realized that I might have used keyboard “backspace” button to remove only the SEO Group name.

Anyway I was surprised to see this kind of error in a popular website. Initially I thought that it is happening only in Particular browser “Firefox”.  So, I tested it in Google Chrome also,  but samething happened in Google  Chrome also.

Similarly I had noticed few issues/bugs in the popular website marketplace site Flippa also.

Have you noticed this kind of issues in any other popular websites? If “Yes”, you can share the details thro’ the comments.

What do you think as the reason for this kind of bugs even if this companies can afford good budget for doing Software testing?

Managing Risks: “An Overview” – Guest Post by Rajini Padmanaban

‘Risk’ is a word that we always carry with us at every phase – be it personal or professional. Whatever we do, wherever we go, risks always exist.

If we talk about business, there is a risk of failure; but at the same time, by taking the risks, there are chances of great success as well. We can’t avoid any future uncertainty; but yes, the impact of loss can be minimized by analyzing and planning the strategy to handle it in advance. This is Risk Management – identify/analyze the risks and then handle those risks in the best possible way by mitigating them.

In the world of IT industry, one of the biggest risk factors is when a software program, without testing and software quality assurance, is released to end users, and in case the application is error prone, the denouement is disastrous. Therefore, a risk mitigation plan must be in place to avoid the consequences of such software failure in the market.

In a broader sense, software quality assurance and testing itself is a risk mitigation strategy. Even after sufficient qa and testing, all risks are not purged, but the risks that will exist will be of low priority with minimum impact.

Below are the key points that are considered while managing the risks:

  • Identify the risks
  • Determine Criticality of risk, i.e. how severe will be the impact of risk, if it occurs
  • Take required actions on the risk, i.e. either mitigate the risk or accept it if it’s of low priority

After taking appropriate actions against critical risks, quality software is released to the customers with low priority risks called out as known issues.

Some of the typical strategies  to mitigate risks include:

  • Adding more trained resources to help enhance test coverage in the limited amount of time
  • Looking at automation strategies to created automated regression suites to catch bugs which might otherwise be missed in mundane manual testing
  • Empowering the team with productivity tools and utilities to help them better focus on the areas that are not very stable

Thus, probability or encountering of risks is not an alert; however, we need to make sure we take appropriate actions for the encountered risks and handle the consequences if they do occur. It is important to focus and proactively work on the impact of risks.

Rajini Padmanaban is Director Engagement – Global Testing Services at QA InfoTech specializing in writing insightful articles on quality testing, providing technical consultation. Find her resourceful articles on quality assurance over the web.

Will QTP Certification Give you any Benefit?

I used to get emails from Software Testers who bought my eBook about Software Testing and QTP Automation.

Most of the people ask me about QTP Certification. They want to know whether QTP Certification will help them to get good job, and they want to know how to get QTP Certification, how much money they need to spend for getting QTP certification, where to get mock tests and model question papers, what are the various certifications available for QTP certification, where to get syllabus for QTP certification, who is giving QTP certification? HP? Mercury? or any other thrid-party, whether it is easy to pass the QTP Certification, and whether they will be allowed to retake the exam if they didn’t pass the first attempt.

Even Today I got a query like whether qtp 9.2 v exams can be taken up or qtp 11 v alone can be taken up.

Personally, I am NOT a fan of QTP certification. Because, I was able to get good high paying automation jobs easily without getting QTP certification. Anyway, I understand that QTP certification may help the Job seekers in some way.

What is your opinion? Do you believe that QTP Certification will Give you any Benefit?

I would like to know whether anyone still searching for Automation job even after getting the QTP certification.

So, you can share your experience thro’ the comments. And, you may answer for the various QTP certifications related queries thro’ the comments. If you blindly add your advertisements without contributing any content, your comments will be deleted. I want to keep this post as single place to get everything about QTP certification.

Software Testing Resources (WebSites,Blogs,and Forums)

Find below the collection of useful websites, Blogs and Forums for learning Software Testing. Let us know if you want to add any other useful Software Testing Resource in this list.

And, you can mention your favorite Software testing related website thro’ the comments section. We will rearrange the order of this list based on comments. i-e We will keep the the website which receives most number of positive comments.

  1. SQA Forums – This is the very useful Forum for learning Software Testing and for learning Software Testing Tools especially QTP (Quick Test Professional). Mostly, you will get appropriate solution/answer for your problem/questions within few days if you post your questions in this Forum. Personally, I had used this Forum effectively to learn QTP many years back. I think this Forum is available for more than a decade. Previously it was known as qaforum.com
  2. JAMES BACH’S BLOG This blog is having lot of interesting software testing related posts starting from year 2003. James Bach is one of the Authors of the book titled “Lessons Learned in Software Testing”
  3. LinkedIn Discussions LinkedIn is having lot of Software Testing Related Groups. We can join the desired Groups and we can participate in the Software Testing related Discussions and we can start our own discussion also. Apart from these Groups, LinkedIn is having Answers section which will allow us to ask our questions.
  4. Google Testing Blog – This Google blog explains the Testing processes followed within Google.
  5. QualityPoint Blog – This blog is written by myself. I had written an eBook about Software Testing and QTP automation. Mostly my articles will be telling more about practical approaches of Software Testing. Because, I work as Developer also apart from being a Tester. And, I am doing Business also now. So, my main focus will be doing Software Testing in a way to help Developers and Business (Obviously it should help the End Users)
  6. Agile Testing – Thoughts on testing and systems infrastructure with an agile, mostly Pythonic, twist
  7. Martinfowler This blogs speaks more about effective Software Developments and Agile methods to improve productivity.
  8. Cem Kaner’s Blog – He is one of the authors of the book titled “Lessons Learned in Software Testing”
  9. Misko Hevery – He writes about writing Testable Code
  10. Develop Sense – Michael Bolton writes about how to do excellent software testing in a way that is very fast, inexpensive, credible, and accountable.
  11. Sara Ford’s Weblog – Former Microsoft employee writes about combining agile methodologies with community management to provide the best user experience possible for websites
  12. Association for Software Testing – AST is dedicated to advancing the understanding of the science and practice of software testing according to context-driven principles.
  13. IT Knowledge Exchange
  14. GOJKO ADZIC
  15. Thinking Tester– This blog provides information about software testing.
  16. Chris McMahon’sblog
  17. JW on Test
  18. Software Testing Help
  19. Corey Goldberg
  20. Testertested
  21. Steve Rowe’s Blog
  22. Exploration Through Example
  23. Test this Blog
  24. Expected Results
  25. QA Intelligence– This is a Testing & QA Management blog.
  26. Adam Goucher
  27. Stevesouders.com
  28. QA Hates You
  29. Curioustester
  30. Stefan Thelenius about Software Testing
  31. Testledaren.se
  32. Relevantcodes.com
  33. I.M.TESTY
  34. Automated Chaos
  35. Software Testing Hotlist
  36. Practical QA
  37. ABAKAS
  38. Tooth of the Weasel
  39. Test Obsessed
  40. Quality Frog
  41. Testing Hotlist Update
  42. Collaborative Software Testing
  43. Eric Jarvi
  44. Test Guide
  45. Testy Redhead
  46. Software testing zone
  47. Marlena’s Blog
  48. Software Testing and more
  49. patrickwilsonwelsh.com
  50. Quality Assurance and Software Testing
  51. Testing Testing 1,2,3
  52. Mike Kelly’s blog
  53. Enjoy testing
  54. Evil Tester
  55. Charlie Audritsh’s blog
  56. Maverick Tester
  57. Paul Gerrard’s blog
  58. shino.de
  59. Cartoon Tester
  60. cLabs Blogki
  61. Jeff Fry on Testing
  62. Venkat’s Blog
  63. Agile Testing and Process Thoughts
  64. Software Testing Stuff
  65. selenadelesie.com
  66. Software Sleuthing
  67. The Software Quality Blog
  68. One of the wolves
  69. Musing about Software Testing
  70. Jon Bach’s blog– Jon Bach’s blog, highlighting the humanity in software testing
  71. Quardev
  72. Software Testing Club Blog
  73. TestToTester
  74. Agile Testing with Lisa Crispin
  75. Confessions of a Passionate Tester
  76. I am filled with solutions
  77. Software Testing
  78. Rosie Land
  79. Still Life– This blog is about testing, work, random thoughts, automation and scripting.
  80. Brian Osman
  81. Dhanasekar S’s Blog
  82. The Social Tester
  83. QA Insight
  84. The Testing Blog
  85. Testingminded
  86. Swgetesting
  87. Jeroen’s world of Software Testing
  88. TestingPerspective
  89. Adam White
  90. Purple Box Testing-It gives some brief information to Testing terms like Bugs,Test Cases,Manual Testing,Automation,Tools and Test management.
  91. Lessons Learned by a Software Tester
  92. Pliant Alliance
  93. Testjutsu
  94. Illiteration
  95. Tester Testifies
  96. Santhosh Tuppad’s Blog
  97. Teknologika
  98. Creative Tester
  99. Tester Troubles
  100. Thoughts on QA and Engineering-This blog contains information of about Software Quality,Testing,Quality Assurance and Engineering in general.
  101. Quick Testing Tips
  102. Cruisin QA
  103. Tester Lost Focus
  104. James McCaffrey’s blog-This  blog explains the Software Research, Development, and Testing.James McCaffrey is an author of .NET Test Automation Recipes and Software Testing.