Sunday, December 29, 2013

How to encourage testing within your organization

On interacting with testers in various forums, one thing amazes me. Even today, there are organizations developing software but with little or no testing processes. It is not that they do not test at all. The developers test their code but there is no "tester" testing. Or testing is not institutionalized. If you work for such an organization and want to encourage testing, here are a few tips for you to consider.

Saturday, December 28, 2013

When Manual Testing is better than Automated Testing

Manual testing is testing done by the tester using his intellect but without the use of automated testing tools. Manual testing has possible disadvantages. It can be expensive in effort, have human mistakes or just be boring. Even so, manual testing continues to be very popular because of its powerful advantages. Since manual testing is done by a human being and not a program, the test design and test execution can be changed very quickly. Manual testing is done using the creative and analytical skills of the tester and it requires no investment in software testing tools. Now, let us see the situations where manual testing is the better option due to technology limitations of today.

Wednesday, December 25, 2013

How video game testers work?

Video games or computer games are available on a number of devices such as consoles, computers and mobiles. They are enjoyed by countless number of people. Video games have existed for a long time now. However, with artistic and technological advances, the video games have become very complex. This complexity needs serious game testing. Game testing is intense work but fulfilling because the game industry is growing rapidly. Game testing involves a number of tasks. It also needs a passion for playing games. The role of a game tester is to provide objective information about the game. What are the good things about the game? What things about the game should change? Are there any bugs or glitches in the game? Does the game work with good performance?
Learn from my video, How to test games or read on.

Sunday, December 22, 2013

Software Testing Estimation

Software testing effort estimation is a skill required of a Test Lead or a Test Manager. However, test effort estimation is not a skill that one can learn quickly. It requires understanding of several key concepts and practice.  In the previous post on estimation techniques, we have seen six approaches to get software test effort estimates. In this post, we will look at one possible software testing estimation formula. Before using it, you need to customize it according to your test process. This formula is explained with an example in my video on Test Estimation with formula example.

Thursday, December 12, 2013

Tester role in agile software testing

Agile software development is very popular in the current software industry. Agile places emphasis on constant communication and collaboration within the team and with the customer. Its objective is to develop increasingly functional software in a dynamic requirements landscape. Agile projects run differently from projects using Waterfall model or Iterative model. Testers working in Agile projects should be familiar with their role therein.

Thursday, October 31, 2013

Selenium IDE and Selenium WebDriver Training Videos - learn automated testing

In the last few years, I have had the opportunity to interact with hundreds of testers who want to have more than just manual testing skills. They want to learn Automated Testing, or Test Automation as it is commonly called. I prefer to call it Automation because it is not restricted to testing something with a computer program. Automation can be used for other productive tasks like generating or setting up test data, log bug reports, prepare release notes and doing other administrative tasks.

Wednesday, October 2, 2013

JMeter Web Performance Testing Training Videos


You can get trained in web performance testing with JMeter by using our training videos. These high definition videos are 13 hours long altogether. They cover many aspects of performance testing - performance testing process, using JMeter effectively, setup and execution of performance tests, analysis of results and much more.

Friday, September 27, 2013

No Time to Test

There was a thought-provoking discussion in the Software Testing Space LinkedIn group this month. The problem posed by Amit (many thanks for raising an important practical problem) was thus.

Problem One is the only QA engineer for a large team of developers. The rate at which the developers build new features is far greater than the rate at which the QA engineer can test them. How would one ensure high quality is maintained in the application?

Here are the solutions to this common problem that were proposed by the expert group members:
  1. Involve the developers in the team for some testing.
  2. At first, test the high business priority features and then the high-risk features. Perform a regression test whenever time permits.
  3. Prioritize all features to be tested. Test the new features and important bug fixes first.
  4. Raise the problem to the team highlighting the limited test coverage due to lack of time. Make sure that the team understands and accepts the risk.
  5. Use test automation to automate sanity test and regression test cases. Build the test automation framework so that developers can easily build automated test scripts.
  6. Merge test cases or write workflow-based test cases that allow more coverage and take less effort to write and execute.
  7. Use Requirement and Risk based testing approach by defining the testing scope based on priority, impact and timelines.
Overall, the members agreed on the best solutions as no. 4 and no. 1 and 5. Michael neatly summarized the solution. Many thanks, Michael.

Solution Ensure that the team is aware of the limitations of time and resources for testing new features and bug fixes and regression testing. The team needs to understand the risk due to these limitations. Always do your best. Ask and accept help from any team member with your testing tasks.

Monday, August 19, 2013

JMeter Web Performance Testing Training Course


I have launched this course in web performance testing using the leading open source free tool, Apache JMeter. As you may know, I have a number of years experience in delivering performance testing and load testing projects successfully. I started this course on repeatedly finding even experienced software testing professionals having many gaps in their knowledge of performance testing and load testing. This course has 13+ hours of online training videos with lots of example performance test plans. The topics taught in this course include performance testing concepts, JMeter installation and using the UI effectively, using Proxy Server, building requests, Thread groups, Logic controllers, Samplers, Listeners and statistical results, data parametrization, test script and test plan modeling, server technologies, profilers and many more.  In order to get started, please see my demo videos

JMeter short tutorial

JMeter detailed tutorial

You can see more details of these training videos at JMeter Web Performance Testing Training Videos.

Tuesday, August 6, 2013

Performance Test Reports - JMeter Listeners Tutorial

I run a training course on Apache JMeter called Web Performance Testing with JMeter. One of the important concepts in JMeter is Listeners and that I want to share with you. Reports are called Listeners in JMeter vocabulary. Listeners are used to collect the performance test results and display it to the performance tester. Now, let us learn about Listeners in JMeter and how to use them. You can see listeners working in my short JMeter video.

Sunday, June 9, 2013

VBScript Questions and Answers

VBScript is a scripting language used to create test automation in tools such as QTP and TestComplete. In addition, it is used to automate user tasks on Windows computers. Learn VBScript in detail using our free VBScript video tutorials. Then attempt this quiz on VBScript. Each question in this quiz has four options with one best answer. The score is updated at the bottom left as you answer each question. Try it.

Monday, May 27, 2013

Checkpoints in Automation Testing

In the last two articles, we saw how to create keyword tests and script tests in TestComplete. In this article, we will learn the checkpoints available in TestComplete. First, what is a checkpoint? A checkpoint is an automated comparison that you can have within an automated test. When the test is run, the checkpoint compares the value stored in the test (i.e. the baseline value) with the actual value and reports success or failure depending on the comparison. A single checkpoint replaces a number of test steps or script statements that perform the same comparison. There are more than 10 checkpoints available in TestComplete. Let us visit them one by one.

Tuesday, April 30, 2013

Script test in TestComplete

In the last post, we learned how to create a keyword test in TestComplete. I had mentioned then that Script tests are more suitable for people who know a scripting language like VBScript or JScript and who have written test automation before. In this post, let us see how to build a script test to test the Windows Calculator. We will use data parametrization, external data sources, conditional statements and loops. Rest assured that it will not be simple at all.

Friday, April 26, 2013

How to create a keyword test in TestComplete (from SmartBear Software)?

TestComplete is a test automation tool that can test a variety of applications like Windows applications, web applications, web services, Adobe AIR applications and Java applications. Tests can be created as either Keyword tests or Scripts. The former are more suitable for beginners in test automation and the latter are more suitable for people who know a scripting language like VBScript or JScript and who have written test automation. It is very simple to build a keyword test in TestComplete. In this post, let us see how to build a keyword test in a browser based application quickly.

Saturday, April 20, 2013

How to send an email using VBScript?


In the last article, we have learnt that VBScript is useful to write small automation utilities like writing commands in cmd.exe, launching an executable, killing all instances of an executable etc. But do you remember a forwarded email that contained an attachment file and sender asked you to save that file with .vbs extension and then to double click that file to see some magic? If you do perform those steps, a program automatically executes, open a new email message, write recipient email address in "To" field, write some silly text in body and then sends that mail using your Outlook. By the time you understand something and react, mail shoots to recipient. Actually that attachment could be a VBScript. We will learn how such a script works.
If you want to learn VBScript from basics to some advanced topics, you are welcome to use my free VBScript tutorial for beginners.

Thursday, April 4, 2013

How to work the Command Window using VBScript?


VBScript is ActiveX-enabled scripting language developed by Microsoft that connects to scripting hosts like Internet Explorer and performs functions locally using the Windows Script Host (WSH). It is an interpreted client side language. VBScript uses the Component Object Model (COM) to access elements of the environment within which it is running. Generally, scripting languages are coded faster as these are interpreted. VBScript is structured and used with smaller programs with limited capability. It is embedded within windows by default in every desktop release since Windows 98. 

Want to learn VBScript? Use my free VBScript video tutorials.
A VBScript script must be executed within a host environment, of which there are several provided with Microsoft Windows, including Windows Script Host (WSH), Internet Explorer (IE), and Internet Information Services (IIS). Additionally, the VBScript hosting environment is embeddable in other programs, through technologies such as the Microsoft Script Control (msscript.ocx). VBScript allows us to write small automation utilities and to execute them without using any functional automation tool. We will now learn how to work with command mode.

Sunday, March 31, 2013

Selenium RC Quiz Part 3


Selenium is a popular open source test automation tool for web applications that is used for functional and cross-browser compatibility testing. You may have already attempted the Selenium Quiz Part 1 and 2. If not, try those first. Now, attempt the part 3 of this quiz to check your familiarity with Selenium RC (also known as Selenium 1). Selenium RC is the original Selenium tool. RC has the Selenium Server that controls the browsers and Client Libraries for the supported programming languages (Java, Ruby, Python, Perl, PHP or .Net). Each question in this quiz has four options with one best answer. The score appears at the bottom left. A score of 5 or less indicates low knowledge; 6 to 7 means a fair level of knowledge and 8 and above shows a good knowledge of Selenium RC.
Instead of this quiz, you may want to see my video on Selenium Questions and Answers where I have compiled all these questions.

Saturday, March 16, 2013

Apache JMeter: How to build and run a web test?

JMeter is a popular open source load testing tool that is written in the Java programming language. Besides other things, JMeter can be used to load test web applications. It is very simple to deploy JMeter on a Windows computer. JMeter is full of features to build, configure and run a realistic web test. It can also be used to perform functional testing on a web application. With this introduction, let us see how we can quickly build and execute a web test in Apache JMeter.

If you are new to performance testing or JMeter, please see my video, JMeter Load Testing Beginner tutorial. I have explained performance testing in the first 40 minutes. In the next 40 minutes, I have demonstrated the important basic JMeter features.

Also, you can see a complete JMeter load test explained in my video, Learn JMeter Load Testing in 18 minutes.

Wednesday, March 6, 2013

Selenium IDE Quiz Part 2


As you know, Selenium is a popular open source test automation tool for web applications that is used for functional and cross-browser compatibility testing. You may have already attempted the Selenium IDE Quiz Part 1. If not, try that first. Now, attempt the part 2 of this quiz to check your familiarity with Selenium IDE. Some of the answer choices are quite similar so please read each answer carefully before selecting the best one. The score appears at the bottom. A score of 5 or less indicates low knowledge, 6 to 7 means a fair level of knowledge and 8 and above shows a good knowledge of the Selenium IDE.
Instead of this quiz, you may want to see my video on Selenium Questions and Answers where I have compiled all these questions.

Friday, March 1, 2013

Selenium IDE Quiz Part 1


Selenium is a popular open source test automation tool for web applications. It is used for functional and cross-browser compatibility testing. In addition, several other open source functional testing tools are based on Selenium. This quiz on Selenium IDE is the first part of my series on testing using Selenium. Attempt this quiz to check your familiarity with Selenium IDE. Each question has one best answer. The score appears at the bottom. A score of 5 or less indicates low knowledge, 6 to 7 means a fair level of knowledge and 8 and above shows a good knowledge of the Selenium IDE.
Instead of this quiz, you may want to see my video on Selenium Questions and Answers where I have compiled all these questions.

Monday, February 25, 2013

How to keep your passwords secure?

Password security is an important part of security of computer systems against unauthorized internal or external access. Therefore, let us consider this topic. Now, what is a password? A password is a string of characters that you give to verify that you are you when you log on to a computer system. In other words, a password is used to authenticate you to a computer system. We will see tips to create a secure password. Next, we will see guidelines for application developers to implement good password security. But first, let us see the different types of passwords.

Sunday, February 24, 2013

Java Questions and Answers Part 2

As you know, Java is one of most popular object-oriented programming languages and has been in use since its release. It is interesting that test automation can be written in Java in certain automated testing tools/ frameworks. View the videos, Java Interview Questions and Answers - 1

and Java Interview Questions and Answers - 2. Or read on.

Wednesday, February 13, 2013

Java Questions and Answers Part 1


As you would know, Java is one of the most popular object-oriented programming languages and has been in use since its release in 1995. What is particularly interesting is that test automation can be written in Java in certain automated testing tools/ frameworks. Here are some basic questions and answers related to the Java programming language. These questions and answers are excerpted from the notes that I created. View the videos, Java Interview Questions and Answers - 1

and Java Interview Questions and Answers - 2. Or read on.

Wednesday, February 6, 2013

Software Configuration Management (SCM) confusing terms explained

SCM involves controlling access and storing changes to software code, resources and project artifacts. Your software project most likely has a chosen SCM tool (a.k.a. version control software or revision control software). However, SCM tools often use similar terms to mean very different concepts. Make sure you understand the difference between the following terms by reading the guest article that I have written here.
  • Repository versus Project
  • Trunk versus Branch
  • Add versus Update versus Commit
  • Delete versus Purge
  • Checkout versus Lock
  • Overwrite versus Merge
  • Revision Number versus Message
  • Label versus Baseline

Monday, February 4, 2013

JavaScript Quiz Part 2 (final part)


As you may know, JavaScript is the default scripting language of the browser. In addition, much test automation is also written in JavaScript. If you have not attempted the Part 1 of this Quiz, do that first. Then attempt this part of the quiz to find out how well you know JavaScript. If you can answer 8 or more questions correctly in each part, then you are a JavaScript expert :)

Friday, February 1, 2013

How to use application metadata for software test automation?


Metadata is commonly understood as data that describes data. An example of metadata is the product catalog of a company. Such a catalog contains additionally assigned attributes (i.e. related but extrinsic attributes) such as name, model, price and availability of products. Another example of metadata is the data within a meta tag of a web page. This metadata includes the description of the web page and keywords. This metadata is not used to generate the web page content but is used by search engines. Still another example of metadata is the details of a digital image such as title, width, height, resolution, camera used and so on. This metadata is used to search the image in an image library and also to modify the image as desired. In the same way, a deployed software application build has metadata.

Software test automation needs certain application metadata in order to execute. Such metadata data is perhaps the application URL or path to the executable file, valid users' credentials (user names and passwords) and their privilege levels, internal name of the application, application version, components released in the build, server addresses, application database name and application database user credentials. It is common for such data and more to be available in the application build release notes. It is also common for the release notes to be created using standard markups like HTML or XML. Now, if test automation is aware of the schema used in the release notes (i.e. which tag contains which data), it can query the release notes and extract the required data. Test automation can also store this data in the test database. This provides readily available data to run manual tests and also to generate test run reports. Auto population of application metadata in the database works well with automated software build systems which create regular application builds and the corresponding release notes. In such a case, test automation can wait for some notification or keep polling the network location for a new build. Whenever the new build is available, it can auto populate the application metadata and launch the build sanity test (or any other test per the automated test plan).

Until next time.

Image courtesy of fotographic1980 / FreeDigitalPhotos.net

Monday, January 28, 2013

HTML (HyperText Markup Language) Quiz

HTML5 is the upcoming HTML standard. It introduces a number of new features like built-in video support, geolocation, drawing and so on. It also integrates XHTML, CSS and JavaScript. Check your awareness of HTML5 with this short quiz which is created using HTML5. Each question has one best answer. Your score will always be visible in the bottom left. Please use the latest version of an A-class browser like Chrome, Firefox or Internet Explorer to view this post. The latest versions of these browsers already implement a lot of HTML5 features.

Thursday, January 24, 2013

Software Testing Effort Estimation: Questions and Answers

Software test effort estimation is a key skill required of a test manager (for multiple projects), a test lead (for the activities of the testing team) or a tester (for own activities). In this post, I will not explain what software test effort estimation is or how to do it. If you need to know these things, please read my other post titled How to estimate testing efforts or see my video on Test Estimation techniques, formula example and Questions and Answers. 

In this post, I will pose relevant questions regarding effort estimation in software testing. These questions are useful to guide yourself when you do estimation. They help clarify thoughts during discussions among project stakeholders. Also, these questions are useful in interviews for various testing positions. I have also discussed these questions and their answers in the above video on Test Effort Estimation.


Now, you may know that once the effort estimates are agreed, there is a (sometimes unsaid) expectation of commitment to these estimates. Therefore, generating a fair effort estimate in software testing is a serious task. Get the effort estimate loose and the resources and time would be under-utilized. Get the effort estimate too tight and there is a risk of stressing the resources and, in extreme cases, even failure to meet project deadlines. With this in mind, let us see the questions.

Monday, January 21, 2013

JavaScript Quiz Part 1


As you know, JavaScript is a very popular programming language used to create interactive websites. Also, much test automation is also written in JavaScript. Attempt this quiz to find out how well you know JavaScript and see how many questions you are able to answer correctly.

Friday, January 18, 2013

Automation Criteria - Which test cases take less effort to automate?

In software testing, test automation involves automatic execution by your computing device of test cases which would otherwise be executed manually by a tester. Obviously, test automation has to be created for such test cases before automated execution can be done. If you have limited time (as always) to create test automation, you may be wondering which of your test cases you could automate with the least effort. The purpose of this post is to make you aware of several considerations before you select the test cases for test automation. But first, let us see how test automation works.

Wednesday, January 16, 2013

HTML and CSS Quiz Part 2

If you haven't done so, learn HTML, CSS and SEO first. Then attempt this second and final part of the quiz on HTML (HyperText Markup Language) and CSS (Cascading Style Sheets). If you have not answered the part 1 of this quiz, attempt that here first. Most of the questions below have just one correct answer. See how many of your answers are green :)

Sunday, January 13, 2013

HTML and CSS Quiz Part 1

HTML (HyperText Markup Language) and CSS (Cascading Style Sheets) are the fundamental building blocks of web pages. Learn HTML, CSS and SEO. Then attempt this quiz to see how well you understand these. Most of the questions have just one correct answer.

Monday, January 7, 2013

Testing Maps

We are all familiar with maps since childhood. Maps are of various types but each one of them visually depicts some space, either in 2D (on a plane) or 3D. Road maps are probably the most common maps. But there are maps of regions as small as organs of the human body and buildings to regions as large as the whole world and even entire solar systems and galaxies. What are the key items to test in a map within any application?

Thursday, January 3, 2013

Testing cross-site scripting (XSS)

We have heard about cross-site scripting (XSS) attacks on major websites and also that a majority of websites are open to XSS attacks. How can we test for XSS vulnerabilities in our own web application?