Top 13 Resources to Learn Selenium Automation

When QA engineers started with the selenium testing journey, they really had a tough time finding out good resources to help them in improving their skills.
The resources then were mediocre once and a very few that could actually help. So with so much of activities happening over the internet, we thought of finding some good selenium resources to help you get started.
Below is a list of top 13 selenium automation resources that will prove helpful to you throughout your learning journey.

1. Selenium 2 WebDriver Basics With Java
Selenium WebDriver is the web automation tool that has the market and its expertise sought after. When you master utilizing the Selenium WebDriver tool, you can make sure of expanding your capacity to compose those awesome automation codes.
This seminar on the web has some truly astonishing video guides and learning materials that will enable you to find more without anyone else. This Alan Richardson’s course is simply too moving to even think about learning.
2. Clean Coders by Uncle Bob Martin
This ought to be your most loved go-to site for adopting best practices being developed. On the off chance that you seek to wind up a really sparkling mechanization hotshot, you need great information about practices being developed. Clean Coders is likewise accessible as a handbook on different web-based business sites.
All the more imperatively, you will be tested to reassess your expert qualities and your responsibility to your art.

Know More:  15 Top Selenium Webdriver Commands For Test Automation

3. Selenium Guidebook by Dave Haeffner
With the exercises in this book and the elemental Selenium tips, you will be ready to play out a genuinely decent arrangement of automatized acceptance tests against the application over some stretch of time and numerous cycles.
As such, we ask you to purchase the book. It’s somewhat more exorbitant than comparative Selenium books, however it’s substantially more successful.
As a matter of fact, this is a gathering of Dave’s extraordinary assets. You get an e-book, video instructional exercises and cheat sheets.
4. gcreddy.com
An online instructional exercise, gcreddy.com gives you recordings and class notes with the goal that you can undoubtedly learn Selenium.
All these demo instructional exercises can be a superb learning and practice stage for you. You can likewise structure a test situation number to computerize in the wake of looking at the usefulness given by every exercise.
This instructional exercise can be given an attempt without a doubt!
5. Ultimate QA
This online course is the main instructional exercise on the planet that will show you how to work without any preparation.
It furnishes you with deep-rooted structure advancement aptitudes. Created by Nikolay Advolodkin to make the best QA engineers, Ultimate QA offers a full Selenium WebDriver adapting course.
You can watch video courses on the web, get a rundown of sites for testing automation, read books, e-learning stage, and browse to slides/introductions, online classes, recordings and significantly more.
Toward the end of this online course, you will have a nitty gritty comprehension about selenium web testing.
6. Selenium – Automation Step by Step – Raghav Pal
Before we figure out how to walk and run, we need somebody to hold our hand and help us make the initial couple of strides.
Each course in this online instructional exercise is intended for fledglings who think nothing about the subject. The sections are rearranged and separated into straightforward subject.
You will gain some new useful knowledge from each video instructional exercise, so we think the more you investigate, the more you learn.
7. Selenium Easy
Selenium Easy is available to students by a little group of experts who work in different associations. The primary goal of the online investigation entry is to give a space to learning and down to earth execution.
They give tests and guides to give you an unmistakable image of your needs. You may need to do little work to meet your present prerequisites.
8. Guru 99 Free Selenium Tutorials
Guru 99 Selenium instructional exercises are helpful for people of Selenium from beginning to advanced edge levels.
They bit by bit proceed onward to advance edge subjects, for example, Framework Creation, Selenium Grid and Cucumber BDD, beginning from the essential Selenium ideas.
To show you Selenium WebDriver, it’s extremely elusive great assets. Also, Guru 99 is one of them.

Know More:  50 Selenium Interview Questions and Answers(2019)

9. Selenium Academy – CrossBrowserTesting
This course demonstrates to you how you can utilize your Selenium matrix for testing on cell phones, including web testing. While you need some earlier learning, beginning with a vigorous cloud testing tool like Cross Browser Testing is an incredible asset.
What’s more, Selenium Academy has a whole course index in your favored programming language covering everything automatization.
10. Selenium Conference
There is no better method to gain from individuals who really use selenium than by going to an individual meeting. On the off chance that you need to break into test automatization, the Selenium Conference is the spot to be.
The uplifting news for you is that the vast majority of the general population are dynamic via web-based networking media and dependably share their tips, traps and counsel on test computerization.
11. Stack Overflow
Do you have any questions? When you hit a knock out and about, here’s the place you sought answers. Stack Overflow is the place in excess of 50 million designers and analyzers share their insight, so you realize somebody will assist you with an issue, regardless of how little, explicit or basic it might appear.
Also, on the off chance that you need the most exact data, go straightforwardly to the source code individuals post for you
12. Software Testing Help
Software testing help is another incredible emotionally supportive network for testers endeavoring to make the change to selenium automation, and these instructional exercises begin from fundamental ideas through cutting edge points, for example, system creation, Selenium Grid and Cucumber BDD.
As you experience these instructional exercises, you’ll see that writing test cases is substantially more reasonable than you thought previously.
13. Selenium 101 Series
The complete Selenium 101 Series gives the tools you have to test selenium tests and achieve the desired results. Selenium 101 Series offers a helpful and edible asset for cleaning your aptitudes by tending to the most widely recognized selenium challenges, including highlights, for example, our intuitive selenium life structures, learning test and eBooks for testing automatization.

Conclusion
Testing is an active industry and the community is constantly talking about more efficient automation. Fortunately, you have a lot of resources to learn Selenium. This list includes some of our favourite content, but it only skims the top of everything.
Take the time to talk to other testers and see what worked for them, practice frequently, and you’re going to write your own test cases in no time.

HP LoadRunner and its Architecture: An Introduction

Did you know companies lose up to $4.4 billion annually because of poor web performance? If your website doesn’t load within eight seconds, the users are going to switch to another one.
This is where performance testing comes into the picture. Currently, around 500 people might be using your software, but how will it behave with 50,000 users? By performance, we mean that the software should be scalable, load pages at faster speed, and stay stable despite rapid increase in visitors.
There are different types of tests to check the different variables including peak test, endurance test, stress test, and load test.
In this article, we are going to talk about HP LoadRunner, which is often considered as a pioneer in the field of performance testing.

What is HP LoadRunner?

An efficient performance testing tool, LoadRunner was first developed by Mercury in 1999. It was acquired by HPE in 2006, who then sold it to MicroFocus in 2016.

Know More : A Quick Guide To Load Testing: Why is it Crucial For Your Mobile App?

The tool is so popular that it owns 85 percent of the performance testing market share. It supports Rich Internet Applications (RIA), MS SQLServer, Web 2.0 (HTTP/HTML, Flex, Ajax, and Silverlight among others), Mobile, RTE, Mail, and other technologies, putting HP LoadRunner at a top position above all competitors.
Over the years, clients have considered HP LoadRunner as a benchmark for judging their product’s performance.
You can use it along with Application Lifecycle Management (ALM) and Unified Functional Test (QTP) as all three together act as an end-to-end solution for your product’s testing phase.
The tool simulates Virtual Users on your website or web application and replicates user requests and application responses to give you an in-depth look into how it will behave in a real situation.

Let’s take a look at six amazing features offered by its latest version, LoadRunner 12.60:

  • You can enable or disable HTTP/2 features using the runtime setting
  • The Network Virtualization feature is now free to use
  • You can connect one or multiple IP addresses for Oracle NCA protocol using the updated runtime setting
  • It offers new and updated Dockerized Load Generators
  • It offers better desktop pool support that you can use to sync on bitmap timeout per step for PCoIP protocol
  • You can now save a graph as an image file

HP LoadRunner Architecture

The LoadRunner architecture can get a bit complex, so let’s take one step at a time:
It has five key components, which include:

  • Load Generator
  • Controller
  • Vu Gen
  • Agent process
  • Analysis

Apart from this, it also offers modules to replay, capture, and script multiple application and networking technologies, which include:

  • Applications that use .NET and Java
  • Database servers including Oracle and Microsoft SQL Server
  • Remote client technologies like RDP and Citrix ICA
  • Internetworking protocols like LDAP, DNS, and FTP
  • E-mail protocols such as IMAP, POP3, MAPI, and SMTP

Let’s use an example to understand how the architecture works. Suppose you are checking the performance of your website, abcxyz.com for 5,000 visitors. They won’t be on the home page at once but different parts of the website. Each component plays specific roles in the performance testing process.

1. Load Generator

It simulates the VUsers (virtual users), which take up the hardware resources including processor and memory.
You will have to use multiple load generators so that the results are accurate, which depends on the number of VUsers.
The machines use 2 to 4 MB data to develop one simulated VUser, so you will need multiple machines that have a total of 1.25 GB of RAM space.

2. Controller

The controller is the most crucial component of the architecture as it manages the load simulation. Some other functions that it performs include:

  • IP spoofing
  • Error reporting
  • Nature of Load scenario
  • Handling VUsers behavior

Let’s say, 250 simulated users are in checkout, 3,000 are checking products on your website, and the remaining are making the payment. To keep the load real, the controller will release five customers every two seconds. They will be divided into two machines equally.

3. Vu Gen

Virtual User Generator replicates System under Load and records behavior and communication of the VUsers to and fro with the server in a scripted format. Examples of the business communication it records include:

  • Payment Processing
  • Product Surfing
  • Checkout
  • Checking User Profile

4. Agent process

It controls the way Controller and Load Generator communicates with each other.

5. Analysis

It records user logs from multiple load generators in the required formats. It also monitors data and helps you run result data.

How to plan performance testing?

You can divide HP LoadRunner Performance Testing process into five steps, which include:
1. Load Test planning – In the first step, you define the goals, select the system you want to use, and gather system usage data.
2. Creating VUGen Scripts – The actual process begins as you start recording VU Scripts, add test data, and enhance scripts.
3. Scenario Creation – You create scenarios that help you create a simulated reality. You will have to realign the goals to achieve accurate results.
4. Scenario Execution – In this step, you have to perform overload testing after executing the scenario.
5. Results Analysis – You have to check how the expected results with the actual results. Collect the feedback and make changes to your website.
The next process that follows performance testing is tweaking and optimization of your website or web application.

Know More : How To Use Apache JMeter To Perform Load Test On Mobile App

During this, you have to optimize the code, fine tune the system, and change configurations to make the website efficient enough to handle more visitors. After making the changes, you can run the HP LoadRunner test once more.

The Cruciality of Statistical Testing

Most software testing techniques are aimed towards finding errors and defects in software or program which hamper its functioning or cause security breaches.

However, checking a system for errors is not enough; we also need to test the system for its reliability.

However, checking a system for errors is not enough; we also need to test the system for its reliability.

In order to deliver the most reliable software it is important to understand what causes errors and system failures, how frequently do errors interrupt the system, what is the program failure rate, which paths to test while performing software testing and analyzing the failures is very important.

Statistical testing is one such testing which covers all the above requirements. It helps you build and deliver reliable and robust software which work efficiently.

What is Statistical Testing?

Statistical Testing is a testing technique which is used to determine the reliability of the system. In statistical testing, we use statistical models and functions to monitor and check the overall working of the system.

The aim of statistical testing is not to find defects, but to understand how the faults in a program will affect the functioning and operations of the software.

In Statistical testing, statistical models are used to generate test data and test cases which stimulate a working environment. Operations and research models are used to solve any problems detected during the software testing process.

During statistical testing, empirical data is collected which helps testers take efficient decisions for further testing, deployment, maintenance and evolution of the software system. The statistical principles and methods are applied to software testing process with the help of the operational usage model.

What is the need for Statistical Testing?

Software testing is a lengthy process which includes the documentation and use of heavy numerical and statistical values. These values help in decision making for future testing cycles and also are seen as the results of the testing process.

However, software testing is a very complicated process and the complex statistical values are hard to handle and understand. Some issues faced during software testing are:

  1. There is a high cost involved in achieving 100% path coverage when the defects found are of complex nature and quality.
  2. The defects found by software testing need to be reworked and integrated into the system during the development life cycle.
  3. Without proper knowledge about statistical formulas and methods, the tester cannot conduct a bias free software test.
  4. Statistical functions are required to deduce an accurate solution and make efficient decisions during testing. 

For this reason, statistical principles are used to facilitate and guide the testing process and generate better results.

The Statistical Testing process

The Statistical Testing process consists of the following steps:

  1. Operational usage modeling
  2. Analysis of the model and Validation
  3. Test planning
  4. Testing

Operational Usage Model

During Statistical testing, a model is needed in order to characterize and infer the population of uses of the software system. The model is used to generate a statistically accurate sample of the uses if the software.

The Usage model is one such model which characterizes the population of the possible uses in the intended environment. It does not depend on the program code but is based on the software specifications. Thus, it ensures that frequently occurring failures and bugs get detected in the early stages of software testing.

No extra time is required to develop this model as it can be created parallel to the software. This reduces the time required in completing and delivering the software.

The model is also known to improve the specifications, provides a scientific reasoning and analytical description of the specifications, quantifies testing costs, and provides bases for statistical testing which improves the system reliability.

Thus, statistical testing which is based on this model provides strong scientific foundation for quantifying the software reliability.

Usage Model generates multiple execution paths and all possible use cases for the software. It can be seen as a graph containing nodes and arcs and transition probabilities which are associated with each arc.

During operational usage modeling the following process is followed:

  1. Building Model Structure
  2. Assigning Transition Probabilities
  3. Generating Transition Probabilities

Step 1: You need to identify the hardware, software and human users of the software, the stimuli that these users can send, and the system boundary.

Step 2: Create a structure of the usage model by sequencing the stimuli. You need to identify the areas which can become complex and increase the cost of system development. Provide solutions and alternatives to simplify these complexities.

Step 3: Determine the number of environments to be modeled for the system and also define the environments of use which are important, e.g., malicious use, routine use, maximum capacity use, etc.

Step 4: Create transition probabilities of the usage model.

Model Analysis and Validation

A standard set of statistics exists for the usage models which have significant interpretations for safety analysis, test planning, resource allocation, and field support.

The most commonly calculated statistics include:

  • Long-run occupancy of each state
  • Occurrence probability
  • Occurrence frequency
  • First occurrence
  • Expected sequence length

During the model validation process the analytical results are studied and you may find that the system functionalities which you deemed as unimportant have significant usage and those which you thought to be important may have little to no use.

Step 1: First you need to develop standard analytical results for the model. The analytical values need to be interpreted in terms of the specifications and expected usage in order to validate their accuracy.

Step 2: if values or model structure do not suit the requirements and specifications, you can change them accordingly.

Step 3: After changing the model and incorporating changes you need to repeat the first and second steps.

Step 4: Now, create test cases and check if they are realistic. If the test cases do not look realistic you need to repeat step 2.

Step 5: Use the model to facilitate activities such as performance planning, test planning, safety analysis, and correctness verification.

alt

Test Planning

There are two types of test cases: Random test cases and Crafted/ Non-random test cases.

Non-random test cases remove uncertainties about the functioning of the system and provide control over the overall testing process whether random or crafted.

These are the non-random test cases which should be performed before random ones:

  • Model Coverage Tests
  • Mandatory Tests
  • Regression Tests
  • Critical but unlikely use
  • Importance Tests
  • Partition Test

Step 1: Generate the number of random test cases by using the expected test case length derived during model analysis.

Step 2: Determine the best case scenario where there are no failures during random testing. Also determine the values of product quality and process sufficiency that can be achieved by running the number of test cases generated in Step 1.

Step 3: Determine the worst case scenario by assuming that failures occur constantly and create a log of the failures.

Step 4: Study and analyze the coverage of the model stats, paths, and arcs.

Testing

After the test cases are planned, you can proceed to the testing part.

Step 1: Record the specifications and constants for each version of the software that is tested for reference.

Step 2: Apply these conditions and sustain them in the environment throughout the test.

Step 3: Execute test cases in the order that they were generated.

Step 4: Communication is the key during statistical testing. You need to communicate and discuss matters that affect test decisions with the testing team regularly.

Step 5: Record the failures and bugs that are encountered.

Step 6: You should maintain the testing chain for the current version as well as the history of testing across all the previous versions. The current testing chain will be used for certification and the historical testing chain will be used to study the development and testing process.

Step 7: If you encounter more than one error in the current version you need to take a decision of whether to discontinue testing or not. This decision depends on various factors like the nature of the failures, organizational policies, and schedules.

Guide your stopping decisions based on reliability, confidence, and convergence.

Step 8: If there are no failures during current testing you can base your stopping decision on the reliability, confidence, and convergence measures together with remaining schedules and budgets.

Advantages of Statistical testing

  1. It allows testers to focus on testing the parts of the software which have significant usage.
  2. It allows you to develop more reliable systems.
  3. The estimation of reliability using statistical testing is more accurate than of other methods.

Disadvantages of Statistical Testing

  1. Performing and implementing statistical testing properly is not easy.
  2. Defining operation profiles is complex and there is no way to repeat the process.
  3. Developing statistically significant test cases in statistical testing is very hard.

Conclusion

Statistical testing is not aimed to find defects and faults; its main aim is to increase the reliability of software.

It helps testers take informed and accurate decisions during the software testing process. This is the reason why statistical testing is important in today’s world if you want to deliver reliable and robust software applications.

Meta: Use of statistics is fathomable. What if they can be used for software testing? Have a look at this unheard testing technique.

What is Exploratory Testing in Software Testing?

Exploratory testing is a process where testers can be creative in exploring the software without knowing much about the working of the system. let’s dig deep

What is Exploratory Testing?

It is a testing approach where you explore the system and venture into those aspects and functionalities which may or may not directly affect the system’s outputs, in order to find underlying errors.

It is all about exploring the system, discovering hidden errors, investigating their cause, and rectifying them. There are no pre-defined test cases formed in exploratory testing and therefore the testers explore the system aimlessly in hopes to find unforeseen bugs.

Exploratory Testing

The purpose of performing exploratory tests is to learn more about the system and its functionality and using your existing knowledge about the system to find errors.

Testers need to be very creative and innovative in order to perform exploratory testing as the aim is to test the system for unexpected errors using unexpected techniques.

Even though there are no pre-defined test cases, testers may note down or document their ideas and things they want to test before performing the test.

Description of exploratory testing techniques?

There are different ways the process can be done. Based on that it can be divided into 3 main types as below:

  1. Freestyle Testing: As the name suggests, this is ad-hoc testing where-in each tester picks up a module or the entire application and randomly runs through the application. It is like a quick smoke test done to ensure everything is as expected.
  2. Scenario-based testing: In this type of exploratory testing, each tester picks up a user scenario and tests the application flows around that use case. They try to cover as many navigations, data permutations, and flow as possible to ensure the stability and functionality of that scenario.
  3. Strategy-based testing: This type of testing involves implementing the core testing methodologies into an exploratory test. In this test, the experienced tester would apply techniques like BVA (boundary value analysis), equivalence techniques, and more to the objects in the application.

How is functional exploratory testing different from structured exploratory testing?

1. Flow of the test

In structured testing, the flow of the test is directed by test cases that are prepared ahead of time.

Test cases are not determined in advance in exploratory testing and the flow is directed from exploring the system.

2. The objective of testing

The main objective of structured testing is to find foreseen errors whereas in exploratory testing the aim is to learn about the system and gain knowledge about its functionality.

3. Nature

Structured testing is predictive in nature as the flow of the test is predicted in advance.

Exploratory testing is spontaneous and investigative in nature. Tests are performed on a proper investigation is conducted.

4. The end results

The end results of structured tests are known and anticipated. However, the end results in exploratory tests are unknown and unexpected.

Wish to know about the types of software testing? Read here

When to use exploratory testing?

The process is mostly standalone and can not be used to confirm the quality of any software product, it is always used to supplement the other testings. Some of the situations where exploratory testing will be very fruitful and helpful are:

  1. To understand how the application works including the look and feel.
  2. In cases where the testing bandwidth is very crunched, exploratory testing may be performed on the least critical or rarely used modules of the application
  3. Check out the new features and changes in the application after each new release.
  4. To help new testers to understand the application, and also to test the application from a fresh perspective
  5. To supplement the structured testing towards the end of the testing phase

Exploratory Testing Process

1.      Learning

This is the first step of exploratory testing and one which is very crucial. Learning about the system is important because you will be able to better analyze all the minor and major functionalities of the system and check it for bugs.

Your knowledge about the system will help you explore the system and create test designs and plans accordingly.

Unless you do not have knowledge about the system you will not be able to explore it in detail.

2.      Test Design

Tests designs are created spontaneously during exploratory testing and there is no need for documentation of test cases, scripts and the conditions of the test.

3.      Test Execution

Test execution is performed along with test designing. As soon as you plan and design your test you execute it without waiting for formal documentation. Only the key components of the test are recorded like the bugs that are detected or ideas for the next test.

4.      Analysis

When some bugs are detected on exploring the system, proper analysis and feedback are made in order to rectify the errors.

The previous test result feedback helps testers to prepare for future tests and apply logical reasoning to guide the future of the software testing life cycle.

Advantages of Exploratory Testing

  1. During the process, there is no preparation time required before a test. It saves a lot of time and effort from the testers as they can focus solely on exploring and learning about the system rather than preparing test cases and documentation.
  2. It allows testers to find critical and hidden bugs and errors that cannot be found through formal testing approaches. All the bugs which do not directly affect the system outputs and get overlooked during initial testing can be detected through exploratory tests.
  3. The results of the previous tests help testers guide their future tests and explore the system in a better and more detailed way. This speeds up the testing process and testers are able to find more bugs easily.
  4. Exploratory testing helps testers gain in-depth knowledge about the system. When a bug is found they can learn its scope, size, nature, etc., and provide better solutions to the developers.
  5. When the system under test is intricate, complex, and vast, exploratory testing may generate better results and prove to be more efficient in finding bugs than formal testing techniques.
  6. When there is very little time for testing a system, exploratory testing is the best way to detect bugs quicker and in more efficient ways. Lots of time is saved when the documentation process is eliminated.
  7. The most significant advantage of exploratory testing is that it helps testers learn about the system. Testers are able to develop and test the system for different scenarios and get to know how the system will perform under such circumstances.

Disadvantages of Exploratory Testing

There are some disadvantages related to exploratory testing which make it a little harder to implement.

  1. The tests that are performed during exploratory testing are spontaneous and not documented which makes them hard to review and keep for future references.
  2. Since there is no documentation involved, keeping a track of the tests performed and the functionalities already explored is difficult.
  3. Repeating a test performed during exploratory testing the exact same way again is not possible. This is a huge disadvantage when you need to repeat a test to find a specific error found in a previous test.
  4. Challenges in exploratory testing

    There are some challenges in exploratory testing because it is not structured. Let us check out some of the major challenges:

    1. Issue Reproduction: once an issue is found, it may be difficult to reproduce it, since there are no defined steps that the tester followed. To avoid this tester would either enable recording in the device.
    2. No Exit Criteria: It is difficult to decide when to stop the testing as there are no defined tasks that need to be completed before concluding the tests.
    3. Uncertainty in test coverage: There are no defined documents or procedures to capture what is tested and what is not tested. Hence the test coverage can not be determined
    4. No defined metrics or reports: There are no formal metrics or reports to substantiate the amount of testing or the success of the testing activity. Many times it becomes a challenge to convince the management of the effort involved and the purpose.

Steps in exploratory testing

Exploratory testing does not follow a particular structure; however, there are a few steps that are common to each exploratory test. The preparation of exploratory tests is a 5 step process:

1.      Learning and classifying errors

The first stage of exploratory testing is gathering the results of the previous exploratory test in order to learn the errors found in the past projects. Testers need to analyze these errors and understand the root causes of the bugs so that they can develop a test plan or strategy to test their system.

2.      Test Charter tool

Test charter is a tool that is used to run exploratory tests. The stakeholders define the scope of the test and risks that need to be found using the test charter. Thus the charter should tell testers the following things:

  • What tests should be performed
  • How the system can be tested
  • What risks should be focused on while exploring the system

3.      Time Box

Time Boxing is the practice of setting a fixed amount of time known as a timebox during which a tester or a team of testers work together to find bugs. The time box session should not be interrupted and the testers should only focus on testing the system.

The testers working in pairs or groups can come up with the most creative exploration techniques and device efficient solutions to the errors found.

4.      Analyzing the results

Once the testing process is completed, the results of the test are reviewed. The defects found are evaluated and testers learn the causes of the defects in order to come up with the best solutions.

5.      Feedback

The results are compiled and compared with the charter. This helps testers identify whether they have tested the system according to the stakeholder’s needs and demands.

Things to keep in mind for exploratory testing

1.      Understand the main aim of testing

Exploratory testing is all about learning about the system and understanding its core functionality by exploring unexpected system paths. During this process, certain unforeseen bugs are detected.

2.      Planning the test is very important

Although test cases are not pre-defined during exploratory testing, it does not mean that exploratory tests are completely unplanned. Testers study the system and previous test results in order to figure out and plan their test. This helps them save a lot of time as they know what they are looking for.

3.      This is skill-based testing

Testing skills are an essential part of exploratory testing. Testers completely rely on their skills in order to explore the system and test it for defects. Therefore exploratory testers should be highly skilled and have good knowledge of all software testing techniques.

4.      Keeping a record of the test can be very beneficial

Even though exploratory tests are not documented, recording the findings, results, and defects found or any other outcomes of an exploratory test can be very beneficial.

5.      Exploratory testing should be a team activity

It is always better to perform exploratory tests in pairs or in a team. This helps testers to come up with better test plans, exploration techniques, and solutions to the defects found.

Top 10 Ideas for exploratory testing

10 Tips for exploratory testing

Wish to know about various QA methodologies? Read here

Example for Exploratory testing

The below image is an indication of how test cases are created for checking out the functionality of a web app. 

Exploratory testing example

Exploratory testing documentation

  • Keeping documented through notes is an effective way.

Eg:  *NEW* /LIVE/ “Browser: Login with  Gmailfirefox” (23-july-2021 09:44:20)

newUser@gmail.com

Client id = 357

https://mail.google.com/mail/u/0/#inbox

Login page displayed => OK

Previous account name displayed => OK

Login => OK

Logout Button available => OK

</OK>

  • Mind Map style

You can use web-based tools such as XMind7 to document the process.  The conventional mind mapping technique would not work in this case.  Create all the test cases as nodes and can be saved into a template. Data such as environment, date, execution browser, time,  the theme of the site, input data, environment, output data

Exploratory testing vs ad-hoc testing

Exploratory Testing

Adhoc Testing

Testing is carried out without much knowledge about the software but in a formal way

Complete freedom in testing the software

Documentation is mandatory

Not that important

Charter directed testing

No particular plan

Maximum test cases are executed

No need for test cases

Form of positive testing

Form of negative testing

Helps in learning the application

Helps in developing innovative ideas in testing

Does not need much time to commence

Needs preparation time

 

Conclusion

It overcomes all the shortcomings of structured testing. It helps testers detect errors that go unnoticed during scripted tests as they do not directly affect the outcome or working of the system.

This is the reason exploratory testing has become a very popular testing approach, especially for complicated systems. Exploratory testing has many advantages over scripted testing and helps testers focus on gaining knowledge about the system.

Ransomware Removal: Top 10 Anti Ransomware Tools

Ransomware is not a thing in the past! Lately, Ryuk has created havoc in the cyber world by collecting $64,000 as ransom. it’s a matter of time that your company might find a space in the list if proper security measures are not taken.

Your company data is flowing across network defying geography. Traveling through cloud system. So security of your data is at stake and is vulnerable than ever. To escape from potential threats and if affected, for ransomware removal you need comprehensive testing with the help of effective tools.

  1. BitDefender Anti-ransomware

BitDefender’s is designed to go about as security against being affected by Locky, CTB-Locker, Petya, and TeslaCrypt ransomware.

The organization doesn’t clarify how the tool functions yet once installed it ought to distinguish a virus as it starts, halting it before encryption of any file.

The splash screen is clean and primary in feel, highlighting a segment that prevents executables from running from specific areas and a choice to switch on protection from the boot.

The organization stresses that the program isn’t expected as a swap for antivirus however ought to be utilized along with it. Key features are:

  • BitDefender now offers a couple of additional decryption devices for recovering your documents.
  • It offers tools for BTCWare, Annabelle, and GandCrab, in addition to an instrument to enable you to make sense of which sub-variant or family of ransomware has encoded your information

2. CryptoPrevent

CryptoPrevent is a vigorous anti-malware/virus programming supplement, filling a tremendous gap that subsists with customary security resolutions for providing security against a developing large number of new and rising ransomware and different malicious threats to software.

CryptoPrevent Malware Prevention is the first CryptoLocker prevention program you’ve found out before, intended to keep the virus from the primary “ransomware” risk which developed in late 2013, encoding important information on the infected computer, and offering to decode in return for substantial payment. Its key features of the tool are –

  • Monitors and securesthe standard folders from objects that parallel malware definitions.
  • The Submit Malicious Files feature will enable you to submit the malicious documents that aren’t in its malware definitions to analyze for consideration in the default definitions.
  • Successfully prevent new and obscure ransomware from encrypting your documents through HoneyPot Ransomware Protection option. At the point when malignant action is identified all the unnecessary applications are ended, ceasing malicious program terminated in its paths.

3. Kaspersky Anti-ransomware Tool

Kaspersky’s anti-virus software is designed and developed for small to medium-scaled companies, and just like that of Bitdefender, it has a tool to stop ransomware attacks earlier to the virus damage your computer.

All things considered, Kaspersky is one of the common names in the security area. Kaspersky is famous for its security features like antivirus tools, internet security, and so forth. You further get to control your identity data like passwords, delete unused apps and update software.This tool is very useful and simple to use.

As of late, Kaspersky launched an anti-ransomware tool that gives total security against all ongoing ransomware attacks. In this way, Kaspersky Anti-ransomware Tool is one more high-grade anti-ransomware choice which you can utilize.

Its key features are –

  • anti-fraud
  • antiphishing
  • anti-ransomware protection
  • vulnerability search and scan
  • automatic free updates and upgrades to the recent version
  • manage web traffic
  • Deal with your identity data, for example, passwords and remove unused applications

4. Malwarebytes Anti-Malware

It is amongst the most regarded anti-malware tool available in the market. As its name infers, it has some expertise in malware avoidance, so its different highlights are secured behind a paywall.

Malwarebytes is an extraordinary “add-on” anti-malware to additionally reinforce your PC’s security with the running of another antivirus.

For those searching for a long-term settlement, we’d highly suggest upgrading to its premium version to enjoy its full advantages.

Its key features are –

  • Real-time protection
  • Anti-malware scanning for existing threats
  • Quick scanning
  • Scheduled scanning
  • Web and browser defense
  • Functions admirably running simultaneously with another antivirus without any impedance

5. Avast Antivirus

Avast is one of the simplest antivirus software to utilize, and one of only a handful few antivirus tools to offer reliable protection against zero-day malware attacks – new unknown threats that antivirus hasn’t been modified to get yet.

Since the Avast united with AVG Antivirus to join their endeavors, they have provided especially absolute virus protection and anti-malware with a lot of helpful features which generally just accompany with paid services. The key features are –

  • An anti-malware network scanner
  • A password manager
  • Behavior analysis innovation and customization
  • Capable to run without backing off the machine
  • A gaming mode that turns off alerts and decreases system load when gaming
  • Robust zero-day malware support
  • Easy to use interface

6. Cybereason RansomFree

This is a free ransomware protection system intended to work along with your current security solution. It utilizes heuristic identification to analyze any unforeseen or bizarre behavioral standards, afterward removes anything regarded malicious.

Instantly after installation, RansomFree tool begins defending your system against ransomware. It runs in the background, observing the behaviors particular to ransomware.Furthermore, this tool sends deliberately put bait files in areas ransomware regularly starts the encryption procedure. RansomFree tool screens the bait file for abnormal interactions and holds ransomware before it can proceed with its encryption.

RansomFree depends on behavior-based exposure.

Its key features are –

  • Quick and easy to install
  • RansomFree suspends the ransomware, gives a popup warning to users about the risk and allows the users to stop the attack with one click.
  • Avoids ransomware attacks by identifying ransomware-particular behaviors
  • Defended off real-world ransomware
  • Maintains to stop the ransomware much before any file is even encrypted

7. Panda Antivirus Pro

Panda Antivirus Pro has every kind of the treats you’d anticipate from the best antivirus tool.

A basic two-way firewall keeps your computer secure. An application control framework can characterize precisely what operates on your computer, ceasing even a few brand new and unfamiliar malware. There’s even a device to create a bootable USB rescue disc, prepared to expel even the most obstinate dangers.

Its key features are –

  • Continuous malware discovery
  • URL sifting to block malicious sites
  • Rapid cloud-based scanning
  • A virtual keyboard encourages you to enter confidential information without it being blocked by keyloggers.

A few of these features are moderately fundamental. The Panda firewall precisely carries out its responsibility very effectively and can make you progressively secure.

It is easy to use as even the firewall doesn’t have to know anything over your present system area: Work, Home, or Public Place.

Generally speaking Panda Antivirus Pro works to perfection on keeping malware under control.

8. CyberSightRansomStopper

So, in case that you are hunting down a free anti-ransomware software, CyberSightRansomStopper may be the best one to choose. CyberSightRansomStopper tool is fit enough to distinguish and hinder all ransomware attack. The security feature quickly identifies the ransomware attack and disables the encryption of documents. A button in this tool allows you to check for updates in case that you did not choose automatic updates during installation.

Along these lines, CyberSightRansomStopper is another best enemy of ransomware software to consider for protecting your computer system.

Its key features are –

  • Automated and continuous enhancement
  • Identifies new and current strains of ransomware
  • Real-time notifications
  • Traps ransomware into uncovering itself

CyberSight further provides a business version. Added features incorporate centralized administration, email notifications, and detailed reports.

9. HitmanPro.Alert

HitmanPro is presently a product by Sophos. HitmanPro is another longstanding security software utilized all through the industry. The “Alert” version includes a few advanced anti-ransomware features, for example, process hijacking protection, CryptoGuard, memory-exploit protection, and network lockdown. It augments browser security and cautions you if the program has been imperiled in any form. It likewise encrypts your keystrokes, rendering keyloggers futile and guarding what you type.

HitmanPro.Alert operates best when utilized related to another, completely functioning antivirus product.

Its key features are –

  • A proficient, powerful review infection cleaner
  • Controls unapproved access to your webcam, retaining your private life as private
  • In case that a file gets affected, the software will make a backup file

10. Trend Micro Ransomware Screen Unlocker

There are two kinds of Ransomware – Lock Screen which restrains the user from using their PC and Crypto (File Encryption) which encrypts files to constrain users from evaluating their documents. Trend Micro Ransomware Screen Unlocker Tool is intended to wipe out Lock Screen ransomware from your infected computer.

Its key features are –

  • Regular backups of basic data if there is any kind of loss
  • Urge users to warn IT Security group of conceivably suspicious files and emails
  • Perform application whitelisting on your endpoints to hinder all obscure and undesirable applications

Conclusion

Businesses of every size are being targeted by hackers or cybercriminals, which encrypt and possess their data ‘hostage’ till a ransom is paid to them. So, what are you thinking? Make sure to protect your computer against any ransom attack and be ready to move into a malware-free 2019.

How to Become a PlayStation 4 Beta Tester: Sign up process

PlayStation 4 Beta Tester sign-up process is simple. First of all, those who wish to be a part of the program must understand that there are two processes available at the moment

  • Private beta test program
  • Open beta test program

Private beta test program

Public beta test program

Meant for product quality

Helps in product quality as well as marketing

Happens inside a closed group

A large group of people located at nook and corner of the world takes part in the process

Fixed time

Does not have a fixed time

The tester must know about the demographics specificity of the product

No such requirement

Varied remuneration based on tester expertise

No payment involved

Staged recruit

Direct access

Takes place secretly

The program will be publicly announced

before you sign up, have a look at their privacy policy in detail

1. Beta Product

The Licensor provides you the beta software, documentation, and access to the beta test program. Your participation in the Beta Product is subject to your agreement to their terms.

The Licensor holds the power to terminate your access to the Beta Product at any time without prior notice. You must take responsibility for the Beta Product and take reasonable efforts to prevent others from accessing it without your knowledge or permission.

You are solely responsible for any loss or damage to your Beta Product or to the Licensor’s intellectual property rights caused by the disclosure of the Beta Product.

In case you learn that the Beta Product that has been offered to you has been either distributed or transferred to a third party, it is your responsibility to immediately notify the Licensor. You must ensure to assist in the recovery of the same so that the Beta Product can be prevented from any further loss or disclosure.

  • License: On installing the Beta Product, the Licensor issues you a limited, non-exclusive license for your personal use. For the PlayStation4 Beta Products, the Licensor even grants you a limited, non-exclusive license to use the Share button. This allows you to stream or replicate the audio and video output of the Beta Products to third-party services supported by the PlayStation4 system. This limited license, which is non-exclusive in nature includes the permission to record portions of the content of Beta Product to the PlayStation4 system and to access the tools within the system to edit the said recordings. Rights that are reserved for the Licensor, are not explicitly granted to the Beta Tester under this license. An example of these is the rights to all intellectual property that are contained within the Beta Product.

This license doesn’t involve the right to, and you agree not to perform the following actions –

Know More: Blockchain Game Testing: What You Need To Know!

[a] Lease, rent or sublicense the Beta Product or make it available on a network to other users;

[b] Modify, translate, reverse engineer and disassemble the Beta Product;

[c] Create works that are derivative from the Beta Product;

[d] Copy or broadcast the Beta Product in an unauthorized manner.

  • User-Generated Content: You might have the option to create, post, stream, transmit and offer content such as pictures, photographs, game related materials, or other information through the Beta Product.
  • You acknowledge that you have received the license of the rights in your user material from the Licensor, who if he/she so wishes may further sublicense its right to your User Material to a third party. You are required to waive, to the extent permitted by law, all claims, involving any moral rights, rights of publicity or rights that are patrimonial, against Licensor and its affiliates or any third party that uses your User Material through the Licensor, by creating, streaming offering or transmitting licensor any User Material, you represent and warrant that your User Material doesn’t infringe on the intellectual property.
  • Updates and Online Server Support: This Agreement applies to Beta Product updates, involving all content that is downloadable for the Beta Product. Through automatic update or otherwise, modification of the Beta Product can happen at any time and for any specific reason. If the Beta Product is relying on online servers, Licensor will not have any commitment to make the servers available at any time.
  • Miscellaneous: This Agreement is interpreted and constructed in accord with the laws of the State of California applying to contracts, that is fully executed and even performed within the State of same. In case Section 9’s binding arbitration terms are unenforceable on any specific dispute, both parties involved are required to submit to personal jurisdiction under the Californian Law. Additionally, they are also required to agree that any dispute between them, shall be taken to a court under the jurisdiction of the San Mateo County, California. In situations where, any provision of this Agreement is conducted invalid or unenforceable, in whole or in part, that specific provision will be modified to the minimum extent vital to make it valid, and the validity and enforceability of all other provisions of this Agreement shall continue to remain unaffected.

There are some clear advantages and benefits to be a beta tester. The last advantage is that you get to have an early look at all of the interesting and fresh new features that will come with the PlayStation 4 v5.5 firmware update. The previous year, beta testers for the v5.0 update got a sneak peek at the new features, like the enhancements for Twitch streaming on PS Pro platforms, updates to Family account to Family account management settings. In addition to being privy to the plans Sony has for the next big update, beta testers are also awarded an exclusive PSN avatar.

If you determine to be a beta tester for Sony, and you end up hating certain aspects of the new firmware update, don’t worry; beta testers have that capability to “roll back” their firmware to previous versions. Another advantage is that successful beta testers can select to be registered automatically for the next round of console testing.

At present, nobody is certain about the exact features that are to be the highlight of the latest firmware update, or which of the PlayStation application and games will be improved. However, if you are very curious regarding beta testing and you meet all of the needs set out by Sony which are mentioned above, it might be worth your while to give it a shot.

How to Become a PS4 Software Beta Tester?

The first step to becoming a PS4 Software Beta Tester is signing up for the Play Station 4 System Software Beta. Given below are the steps that can help you to do so.

1. Visit the Sony’s official website page where you can sign up as a PS4 software beta tester.

2. Sign-In with the E-mail address that you have given when you created your Sony Entertainment Account and the password of your Sony Entertainment Account.

3. Click on “Sign in” and you will be led to the Enrolment Form

4. Read the Private Beta Trial Agreement and, click yes

5. Finally, click on “Submit”

Not sure if you should take the plunge? Well, there are some things to bear in mind before you sign up:

1. Places are limited. Sony might have opened their gates to more testers, but it’s not allowing everyone to jump in and experience the new beta firmware all at once.

It is open only to the PS4 master accounts. No sub-accounts are eligible to take part.

2. The PS4 should be supported by an active Internet connection. This is because Sony will not be distributing the beta firmware as a downloadable file from its website.

3. It is advisable that you do not install the beta firmware, especially for the safety of your saved games and/or installed software. The instability of the beat firmware might lead you to experience odd quirks while using your PS4.

4. You can always roll back to a previous version of the firmware if you are unsure of staying in the beta.

On a central portal, an open invitation for beta testers was declared. Sony has earlier opened up early versions of their system updates to beta testers, but one basic difference this year is that testing is now open to Canadian gamers.

Previously, beta testing was exclusively available to individuals residing in the United States. Sony is even about to extend beta testing to gamers in Japan, but applications for this region are not yet available.

If the prospect of becoming a beta tester for the new system update for the PlayStation interests you, there are just a few primary things you require. The initial requirement is obviously that you have to already own a PlayStation 4.

You even require to have a stable internet connection, as well as a Sony Entertainment Network or PlayStation Network account. It’s even compulsory that all beta testers are at least eighteen years of age.

Know More: Salary of a Game Tester 2019

Sign up process to be become a play station beta tester

By downloading the game you are agreeing to license and privacy terms and you can read more about here

How to get enrolled in the beta program/ Sign-up process for the beta program?

Access the link mentioned above and go through their privacy policy and terms. If you agree, you have to click the agree button on the registration page

Playstation beta tester registration form

Once you agree you will be asked certain questions 

playstation reg process

  • Once you submit, your approval request will be reviewed by Sony 
  • You will be notified via mail once you get the approval

Points to remember

  • Chances of your profile getting approved for the program is very less because Sony is only accommodating very limited beta users
  • You must have a PS master account

Defect Triage: All You Need to Know is here!

What is Defect Triage?

Defect Triage is a process where the testers find out the bug and assign a degree of risk, re-occurrence, and severity to it. This degree essentially prioritizes the bug to be treated first.

Triage however is a medical term which basically means trial or a try-out. When you arrive at the emergency department, your first medical evaluation is done by a nurse.

defect triage

In the emergency department, it is typically done in the triage room. During this time it is very important that the patient describes their problem to the nurse so that she can accurately assess what needs to happen next.

Based on the severity or urgency of another person’s medical condition, they may be taken back quicker than you. This is exactly what happens when a software tester runs a defect or bug triage.

They assign a severity degree to each bug and the bug which seems more severe or the bug which has more potential to compromise the integrity of the system is taken into consideration first.

Defect Triage Meeting

Triage meetings are facilitated by the QA lead and it is coordinated with business analysts, IT lead, project manager, or even the product manager.

During the development or testing phase, testers come across a lot of issues or bugs which keep bothering everyone. To take care of these bugs, the defect triage meeting is organized.

The main objective of this triage meeting is to categorize, prioritize, and track issues.

Triage meetings happen every so often, sometimes even 3 – 4 times in a week depending on the size of the project, project situation, schedule, and number of defects. Multiple factors play a role in determining the number of triage meetings needed to eliminate a bug once and for all.

All these meetings involve discussions of complexity of the defect, risk involved in it, assignments, re-assignments, and rejections. All these updates are captured in the bug tracking system.

For the best results, QA lead should send out the bug report with the existing defects or new defects for every meeting.

Each defect should be analyzed to see whether correct priority and severity has been assigned. The main motive of this meeting is to fix all issues in a timely, fixed, and accurate manner.

During the meeting, each bug is categorized in one of the three categories:

  • IMMEDIATE ACTION TO FIX THE BUG: The defect falls in this category because of two reasons. The first reason is that there are sufficient resources with the team to fix the bug and the second reason is that the bug might cause problems in the future therefore it is important that they fix the bug immediately.
  • ACTION ON THE BUG AT A POINT LATER IN TIME: A bug falls in this category when the team knows that it is not something major and can be treated after some time.
  • NO ACTION BUG: This basically means that the bug is very minor and doesn’t have any effect on the whole system. Therefore, there is no need to take an action on such bug.

Steps in Defect Triage

The triage team consists of project manager, tester, test lead, developer, environment manager, test manager, and business analyst. There are 3 steps in defect triage; defect review, defect assessment, and defect assignment. Each of the steps is discussed in detail below:

  • DEFECT REVIEW: All the personnel mentioned above dive deep into the origin and consequences of each defect in an attempt to fix them.
  • DEFECT ASSESSMENT: In this step, the defects are categorized into 2 categories; to be fixed and on hold. The severity of the defect is the main basis of this segregation. The above mentioned personnel collectively make the decision on which defect to treat immediately and which defect to be kept on hold.
  • DEFECT ASSIGNMENT: Now that the team has a list of defects that need to be treated first hand, they assign each defect to the concerned person. All this is done after the defect has been properly and comprehensively evaluated.

Roles and Responsibilities of Each Member in the Triage Team

  • TEST LEAD: The test lead is the one who starts it all. Test lead sends a formal invite to all the triage members along with a detailed defect report. The test lead is the first person to identify and assign a degree of severity to each defect. One of the main responsibilities of the test lead is to prepare a presentation for the triage team which would give them more insight on each defect. This presentation helps the team members to get to the root of the problem quickly.
  • PROJECT MANAGER: The project manager plays a pivotal role in prioritizing defects, making the defect list, and mediating the whole meeting. He also ensures that all the members of the triage team are present for the discussion. Sometimes the discussion heats up and that’s where the project manager steps in to allow the team members express things from their perspective.
  • DEVELOPMENT TEAM LEAD: Development team lead and project manager collectively prioritize defects. The main function of the development lead is to communicate the risks involved and the complexity level of each defect. Also, he is the one who assigns tasks to different members of the triage team.

There are other members in the team but the project manager, test lead, and the development team lead are the key persons. The meeting would not reach a conclusion if any of these is missing.

What Happens in a Triage Meeting?

 

defect triage meeting

The defect triage meeting is divided into 3 parts; pre-meeting, during meeting, and post-meeting. Before the meeting starts, the test lead sends a report to all the members of the triage team so that they are aware to some extent about the latest bugs.

  • PRE-MEETING: Testers have a key role to play in the pre-meeting. Testers give information about the bug to the team and they categorize each bug in different sections on the basis of severity and priority. So basically, the pre-meeting session is owned by the testers.
  • DURING MEETING: It doesn’t always happen that all the issues in a meeting are resolved. Some pending issues from the previous defect triage meeting are discussed before moving on to the new issues. Then the progress on previous issues is discussed. From this point forth, every point is noted down about the severity of the existing defects. The team members collectively make a decision on which defect to be fixed immediately and which defect they can postpone to a later date. If the deadline is near, the bugs with a higher degree of severity will be treated first and the less severe bugs will be kept on hold. However, if there is no pressure of deadlines, even the pettiest bugs can be fixed in the starting of the project. Based on this, the bug list is updated and this is where the assignment of tasks comes in. The test lead has the last word in the meeting. He quickly summarizes the whole meeting and communicates the immediate courses of action to respective team members.
  • POST-MEETING: MOM (minutes of the meeting) is shared to the defect triage team after the accomplishment of the meeting. This document contains the key points discussed during the meeting.

Contents of a Bug Triage Report

  1. DEFECT ID: Each defect has a unique number assigned to it which differentiates it from other defects.
  2. DEFECT DESCRIPTION: This is related to how the defect causes malfunction in the system.
  3. CREATION DATE: It is the date on which the bug was noticed for the first time.
  4. CREATOR: Creator is the person who first noticed and reported the defect.
  5. SEVERITY: This is a measure of how severe the bug is.
  6. PRIORITY: The priority could be high, medium, or low. High priority means that the bug requires immediate attention, medium priority means that the bug can be resolved after sometime and doesn’t require immediate action, and low priority means that the bug doesn’t have any significant or noticeable impact on the project and therefore may or may not be resolved.
  7. STATUS: Whether the bug is new, under review, in progress, or completed is determined by referring to the bug status.
  8. ASSIGNMENT DATE: This is the date on which the bug was assigned to the respective personnel for resolution.
  9. ASSIGNED TO: This field has the name of the person to which the bug has been assigned for resolution.
  10. RESOLUTION: What is being done to resolve the bug.
  11. DATE OF RESOLUTION: Estimated date on which the defect will be completely resolved.
  12. ESTIMATED TIME: Speculated time of resolving the defect.
  13. ACTUAL TIME: Total time elapsed for resolving the defect.
  14. ROOT CAUSE DESCRIPTION: This field has information related to why the bug appeared in the first place.

Why do We Need Defect Triage?

The main benefit that you gain from the process is that your team will get to evaluate the severity of the bug, devise plans to fish it out and come to a conclusion regarding the resources that need to be allocated for the process. Defect triage is mainly used in agile testing methodology

CONCLUSION

To resolve the defect, a defect triage meeting is called. The test lead, project manager, and development team lead must be present among all the triage team members.

The defect triage meeting is completed in 3 stages; pre-meeting, during meeting, and post meeting. After all this, the test lead prepares a detailed triage report.

The report has all the information starting from when the defect was initially noticed until the root cause of the defect.

The frequency of the defect triage completely depends on the size of the project. It can be organized on a weekly, monthly, or daily basis.

Mainframe Testing – What Happens?

Here is everything that you need to know about Mainframe Testing – what it is and what is the process that is followed, essentially a complete beginner’s guide to Mainframe Testing.

What is Mainframe Testing?

Mainframe Testing is the process of testing Software Services and Applications that are based on the Mainframe Systems.

The process is crucial part of the Application Development Process as it is instrumental in adhering to the cost and quality standards of the industry.

Mainframe Testing ensures that the system is in fact, ready to be launched in the market.

What are the steps followed while undertaking Mainframe Testing?

  • Smoke Testing – Also known as Shakedown, this is the take-off point of the process of Mainframe Testing. Before any action is taken on the codes that are to be used, this first step is to ensure that all the codes that have been deployed are actually in the right testing environment.
  • Only after the adaptability of the code has been confirmed, and the codes checked for any critical technical glitches, are they approved to be worked on in the later stages of the Mainframe Testing Process.
  • System Testing – This stage involves a series of testing that is undertaken to test the functionality of individual systems that comprise the Mainframe system, as well as their performance with respect to each other.
  • Batch Testing – The Batch Jobs begin by testing the scope of data and files, recording the results and making changes wherever necessary. The Batch Testing is the stage where the validation of the test results on output files and data as done by the batch jobs take place.
  • Online Testing – While the Batch Testing can be loosely understood as the back-end testing phase, with Online Testing, the testing moves to the front end of the mainframe application. The Mainframe Application is tested here in relation to the entry fields that are used by the system.
  • Online-Batch Integration Testing – This stage bridges the gap between the back-end and the front-end of the Mainframe System. Through this integrative testing, the data flow, as well as the interaction that takes place between the online screen and the batch job, is validated and approved before being passed on to the next stages of the Mainframe Testing process.
  • Database Testing – At this stage, the database of all data for the Mainframe Application is stored is validated for the layout of the data storage.
  • System Integration Testing – Once the basics have been covered, System Integration Testing is initiated to test the functionality of the system under test and their response to, as well as their interaction with other systems. This is rather a broad spectrum and is prone to be considered as unnecessary, but it is an essential step as it ensures that the new system integrates with other systems in an organized manner.

The relationship between the different systems here is not in terms of either being affected by the requirements of the other.

But in the sense that each use data that is being collected, stored or managed by the other systems.

Hence, testing the exchange of data takes place, and how commands and results flow from one system to the other is essential to create a streamlined integration process between different systems.

Again, the different types of testing processes that are used for System Integration Testing are Batch Testing, Online Testing and Online-Batch Integration Testing (as discussed previously).

  • Regression Testing – This can be understood as the counteractive stage to the previous one. While the System Interaction Testing ensures that the different systems that comprise the Mainframe function simultaneously and are conducive to the performance of the System as a whole, the Regression Testing is a way to ensure that the different systems do not hinder the performance of each other.

Each system should not only be involved in the functioning of the other, as long as it is beneficial for both of the systems. Therefore, Regression Testing is responsible for making sure that the batch jobs or online screens, for instance, do not negatively affect the system that is currently being reviewed or vice versa.

  • Performance Testing – Once we know that each system that is currently at work is doing its job in relation to the new system, or an update being tested and that the new system under test does not hamper the functionality of an existing system, the next step is to test the performance of the system in its specific environment. It involves identifying bottlenecks in high hit areas like the front end data, or other activities like upgrading online databases and to check and understand the scalability of the application.
  • Security Testing – When it comes to software or well any Technology for that matter, the first question that needs to be answered is whether it is a secure platform or a safe space for the users. The same goes for the Mainframe Testing process. Before approving it for being used in the system, it is important that the system is tested to see how it fares against the security attacks. Security Testing is a stage that evaluates the design and development of the application and its ability to withstand potential security attacks. It includes the system’s independence in countering those attacks and keeping all information and data entrusted to it, absolutely safe. The two most common types of Security Testing that need to be undertaken are the Mainframe Security and Network Security. The features that both these tiers of security tests, check in their specific ways are – Integrity, Confidentiality, Authorization, Authentication, and Availability.
selenium

This is the basic model that is followed by testers when it comes to Mainframe Testing.

While specificities might vary depending on the particular project at hand, the basic outline that is to be followed remains the same. As with every other aspect of Technology, there is enough room to negotiate or experiment with this industry standard.

Experimenting and exploring unchartered territories though might lead to dead ends or tunnels that don’t always end with light.

But you can always trace your steps back, and find out where you went wrong and take corrective measures as and when required.

The next section focuses on the challenges or problems that are faced by the Mainframe Testing team and how can they find their way out of a tight spot.

What are the common challenges faced in the process of Mainframe Testing?

Each and every kind of Testing is a series of hit and trial until you arrive at the best possible system. Mainframe Testing is no different. Though we have discussed the steps that are generally followed during the process of Mainframe Testing, even the closest adherence to these steps do not always ensure the best solution in the first attempt.

There will always be challenges or troubleshooting that the testing team will be faced with during the process.

Discussed below are some issues that have been often reported by the testers and the possible approach that can be adapted to find a solution to that problem.

  • Unclear Requirements

Problem – It is extremely important to have clearly set requirements before you working on any testing project. While a supporting manual might be available, it does not always cater to the demands and needs of the project at hand. The problematic of unclear, incomplete or impractical documentation is a problem that hinders the testing process.

Solution – The testing team should be actively involved in the Software Development Life Cycle right from the time when Requirements are being set for the system. Their involvement in the early stages will ensure that they can verify that the requirements that are being set are after all testable and practical. This saves time, money and efforts of the team, while also ensuring that the Software Development Process does not come to a standstill at a later point in the testing phase.

  • Ad-hoc Request

Problem – it may so happen that upstream or downstream application issues might necessitate end-to-end testing needs. These unexpected requests have the potential to disrupt the pre-defined schedule of the testing process by increasing the time, efforts and other resources required in the execution cycle.

Solution – To provide for the unforeseeable issues during the testing process, it is advisable to have automation scripts, regression scripts, skeleton scripts and any other backup plans to implement immediately as and when faced with a problem. This considerably reduces the overall time and efforts required for the completion of the project.

Here goes your basic guide to Mainframe Testing. This is not an exhaustive guide, there is always more that we can learn, and there is always room for improvement and efficiency. Keep exploring.

What is Data Driven Testing? How to Create a Data Driven Automation Framework

What is Data Driven Testing?

Data Driven Testing is an Automation framework where we can alliteratively run multiple data set from an external source like a table for the same test script-instead of hard coding.

Multiple data sets and test environment can be controlled and run without hard coding and results obtained can be compared.

If data is hard coded it is highly tedious, monotonous and inefficient to run the same test script for different data set.

This becomes easier when data from different sources can be fed as input, this input gets verified and result outputs obtained can be compared.

data driven testing

Types of Data Driven Testing

Data-driven testing can be broadly classified into three parts:

  • Data-driven scripts: Data-Driven Scripts are application-specific scripts (like JavaScript) that are coded to include variable data sets.
  • Keyword-driven test automation: Keyword Driven Test Automation is also known as Table Driven Test Automation. In keyword Driven test automation a data table using keyword id deployed for testing
  • Hybrid Test automation: It is a blend of Data-Driven and Keyword Driven Automation Frameworks.

Why Data Driven Testing?

Data-Driven testing tests application with multiple data sets ensuring extensive testing. It also allows in organizing Test data and validation data in a single file.

Example:

For example, we have a login system that has to be tested for multiple input fields with different data sets.

We can test it using different approaches:

Approach 1) For every data set creates separate scripts and execute each of it one by one.

Approach 2) Every time you have to run the test case for different data set, annually change it in the test script and execute it for all required number of data sets.

Approach 3) Import the data in an excel sheet and fetch this data one by one from the excel and run the script.

Executing the test scripts using approach 1 and 2 are very time consuming and lengthy process, the third method or what we call data-driven framework is ideal for such scenarios.

 Importance of  Data Driven Testing?

In real life applications with frequent changes in data set such as addition, modification and deletion of data, hard coding data makes it difficult or almost impossible to run each time.

Data Driven Testing makes it much easier to use and maintain voluminous data individually in tables.

Manually to cover all the scenarios, a tester may have to design multiple test scripts or edit existing test scripts multiple times and run it individually.

Thus, making this difficult or almost impossible task. For a Manual Tester, it is humongous and monotonous.

That’s exactly when Data Driven Testing comes to the rescue. Test Data can be fed from a table or other sources, independently without making changes to the test script.

All these data run for the same test script iteratively and results obtained can be compared.

Procedure Simplified

Test data are stored in an easily maintainable manner like tables or rows and columns and then passed as input variables to the AUT.

Test scripts and Data Provider are two separate entities having no direct impact on each other. Verified results from each test execution are then compared from expected results of the Data Provider.

Data Provider

Data can be fed in different forms. Few popular ones are

  • Internal table
  • Spreadsheet
  • CSV file
  • XML file

Data Driven Script

Scripts containing hard-coded data can be tough to maintain and sometimes they can break the execution.

In Data Driven Testing Test scripts and Test Data are separated and made into separate entities.

Hence Data Provider is independent of test script and both can be modified individually without impacting each other.

Real Life Citation

We shall take an example of online registration form. Data from Registration forms increase frequently sometimes every day. Each User registration add data rows in database.

1.Let’s take a simple form with Name, Email, Password and Confirm Password

2. Test Scenarios are identified and test cases are designed.

3. For now, consider only happy path – validating that data in table and actual result are correct.

4. Now let’s feed multiple data from a spreadsheet, csv file or the like as a table as below

5. During Test execution test script is run and data is taken from the table.Each data is executed one after the other in iteration row after row.

6. Once script is executed, actual results and expected results are compared.

7. Notice that data has been modified – added newly at the end of the table, edited existing in the middle row and deleted in-between the table.

This can be easily done by modifying the Data table like below without touching the script.

This can be easily done by modifying the Data table like below without touching the script.

8. Data has been modified easily without changing the script.

What is the Difference between Keyword Driven Testing and Data Driven Testing?

Difference between Keyword Driven Testing and Data Driven Testing

In Data driven testing test scripts are executed for a different set of data to validate proper working of application with different variable values. Here data is used as inputs to your test script. Every data contributes to a test case and hence with every different test data you have a different test case.

On the other hand, in Keyword-driven testing, a keyword represents action. A set of keywords drives a script. These keywords build test scripts.

Example of Data Driven Testing

Example of Data Driven Testing

Let us understand data driven testing more deeply by taking an example of a Login Page of a Flight Reservation

1) Create a test data file in Comma Separated Values and name it as TestData.csv

2)  Inputs for driver script and expected results are stored in this file.

3) Create a driver script for the data file as

data = open(‘TestData.csv’).read()

 lines = data.splitlines()

4) Steps for data script will be

  • Read Value1
  • Read Value2
  • Read Operator

5) Calculate the result

6) Compare the expected result with the actual result.

Automation Framework For Data Driven Testing

Automation Framework For Data Driven Testing

This method can be used integrating with various Test Automation Tools like Selenium, QTP, TestComplete, TestNG etc    

How to Create a Data Driven Automation Framework?

Let us take Test Login functionality. 

1) Classify the Test Cases 

  • Right username and password 
  • Wrong username and the right password 
  • Right username and wrong password 

2) Make Test Steps for Test Cases 

  Test Case#

    Description

   Test Steps

       Test Data

Expected Results

1

Check Login for valid credentials

  1. Launch the application
  2. Enter Username password
  3. Click Okay
  4. Check Results

Username: valid password: valid

Login Success

2

Check Login for invalid credentials

  1. Launch the application
  2. Enter Username password
  3. Click Okay
  4. Check Results

Username: invalid password: valid

Login Fail

3

Check Login for invalid credentials

  1. Launch the application
  2. Enter Username password
  3. Click Okay
  4. Check Results

Username: valid password: invalid

Login Fail

3) Develop Test Script

// This is Pseudo Code

// Test Step 1: Launch Application

driver.get(“URL of the Application”); 

// Test Step 2: Enter Username

txtbox_username.sendKeys(“valid”);

// Test Step 3: Enter Password

txtbox_password.sendKeys(“invalid”);

// Test Step 4: Check Results

If (Next Screen) print success else Fail

4) Make excel/csv for Input Test Data

Make excel/csv for Input Test Data

5) Alter the Script for various Input Test Data.

// This is Pseudo Code

// Loop 3 Times

for (i = 0; i & lt; = 3; i++) {

    // Read data from Excel and store into variables

    int input_1 = ReadExcel(i, 0);

    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application

    driver.get(“URL of the Application”);

    // Test Step 2: Enter Username

    txtbox_username.sendKeys(input_1);

    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);

    // Test Step 4: Check Results

    If(Next Screen) print success

    else Fail

}

Advantages of Data Driven Testing

  • Test Data can be stored in a single file making it easy to maintain, monitor and track.
  • Test Data and Test scripts are separate entities. Hence changes in one does not impact the other.
  • Large volumes of data can be executed thereby improving Regression testing and better coverage
  • Smoother maintenance of test scripts making addition, editing and deletion of data rows easy and hence less time consuming
  • Manual effort involved is less and hence it is cost effective

Disadvantages of Data Driven Testing

  • Requires great expertise of scripting language
  • Each time a new test case is designed and a new driver script will be required with different data so that the changes made to the test cases should reflect in the driver script or vice versa.

Conclusion

Data Driven Testing a very good strategy if we have huge volumes of data to be tested for same scripts provided there is a highly skilled testing team. And it does not suit projects that do not have much work with data.

15 Best Mobile App Testing Tools (2021 Update)

Mobile App Testing tools are aboon in testing apps. Why? not just because they help in testing. They also help in automating test cases and tracking bugs and can help testers to be on par with the development cycle which at present is becoming faster.  Mobile app testing tools can mitigate risks to a great extent.
when it comes to 2021 serious updates can be expected in these test automation tools. Wish to know about them?
List of 15 Best Mobile App Testing Tools For 2021

  1. Appium
  2. Robotium
  3. Test IO
  4. TestComplete
  5. Testdroid
  6. Unified Functional Testing
  7. Eggplant
  8. MonkeyTalk
  9. Calabash
  10. Selendroid
  11. KeepItFunctional
  12. Ranorex
  13. SeeTest
  14. UI Automator
  15. Kobiton

So, we have created this article to help you choose the best mobile app testing tools for both Android and iOS apps.
1. Appium

Appium has been a standout and the most common test automation tool for testing the mobile applications and has been supported by developers and testers both for its simplicity of execution.
One of the features of Appium is that it supports a built-in browser or Chrome application on Android and Safari on iOS.
This makes Appium a cross-platform automation tool and empowers the testers to write tests on numerous platforms, to be specific with similar API.
Thinking of it as is a cross-platform feature, it improves the reusability of the code between iOS and Android test suites.

Features

  • It is an open-source tool that empowers the automation of native, hybrid applications, and mobile web all over Android and iOS platforms.
  • It empowers you to use your chosen test practices, tools, and frameworks.
  • It allows contributions and solutions from a community of the testers.
  • It automates any mobile application over any language or testing system, encouraging total access to back-end APIs and databases of the test code.
  • Appium’s backend is Selenium, providing each Selenium functionality for your testing necessities.

2. Robotium
mobile app testing tools
A free Android UI testing device, with Robotium it is simple to write compelling automatic black-box test cases for Android applications.
Along these lines, there is no requirement for additional data about the Android application’s framework or executed classes.
All they require is the name of the principal class and path which connects to it. Moreover, Robotium is a library for unit tests.
Features

  • With the least learning of the project, testers can build powerful test cases.
  • It automatically handles numerous Android practices.
  • It needs the least time to make strong test cases.
  • Tests in Robotiumare written in Java.
  • It synchronizes effectively with Maven or Ant to run tests as a significant aspect of continuous integration.
  • It is reasonable to run test cases on applications that are pre-installed.

3. Test IO
mobile app testing tools
test IO is the primary SaaS platform for programming crowd testing – the continuous testing of mobile by the skillful testers utilizing the real gadgets.
Features

  • It can evacuate the QA bottleneck with adaptable, on-demand testing that scales up with the testers’ requirements.
  • Testers can extend the coverage to many platforms, devices, and real individuals in real-world conditions.

4. TestComplete
mobile app testing tools
It is an automatic functional testing tool designed by SmartBear. With TestComplete, you can create and run lively and repeatable UI tests transversely over local or hybrid mobile apps. The tool is used to test both iOS and Android mobile applications.
Features

  • TestComplete is a business flexible testing tool.
  • Testers can automate their UI tests on real mobile phones, emulators, or virtual machines.
  • Testers can also utilize content-free record and replay actions to make automated test content or analyze programming languages, for instance, Python, JScript, VBScript, or JavaScript.

It is the quickest method to test your application on real iOS and Android devices with various hardware platforms, OS versions, and screen resolutions.
5. Testdroid
mobile app testing tools
It is a cloud-based mobile application testing tool. It supports the engineer to save expenses behind application development, accelerate time to promote the app and lessen whimsical and operational expenses.
Features

  • It limits the dangers of real devices and agile testing.
  • Testdroid upgrades daily active users and application rating.
  • Additionally, it encourages total access to phone sensor data, in particular, accelerometers, GPS, and gyroscopes.

6. Unified Functional Testing
In the past known as HPE QuickTest Professional (QTP), Unified Functional Testing or UFT is the business standard solution for the test automation process.
UFT empowers business mobility groups to become tied up wit

mobile app testing tools

h the HPE ecosystem or the MicroFocus ecosystem, for better support and promising launches.
In spite of the fact that it is a costly tool, there are a ton of guides and content accessible to enable testers to get up to speed testing and writing mobile test scripts with this progressively build, established system.
Features

  • It has a powerful solution that is even easy to use by the less experienced testers as well.
  • UFT regularly releases the updates.
  • It has the ability to use MicroFocus’ ecosystems.

7. Eggplant
mobile app testing tools
Eggplant is a user-driven testing tool that helps mobile app testers to test any application that can be managed, for example, desktop, mobile, or web.
As Eggplant Functional is the part of the Digital Automation Intelligence Suite, it empowers enterprise mobility groups to test from the user’s point of view progressively, from the user experience (UI) perspective, with advanced picture search, text recognition, and image recognition, rather than testing from the code.
Being a visual testing tool, app testers don’t need to know Android or iOS messages, making it a simple interface to utilize when writing automated mobile testing scripts.
Features

  • Testers who use Eggplant Functional can utilize whatever shows up on the screen to test by transforming parts of the screen into objects.
  • It offers full user support for the testers from Testplant.

8. MonkeyTalk
mobile app testing tools
MonkeyTalk automates functional, real interactive tests for both Android and iOS applications – everything from basic “smoke tests” to advanced data-driven test suites.
Features

  • An open-source tool that comprises of three parts, for example, Scripts, IDE, and agents.
  • IDE makes test scripts utilizing record and playback.
  • The agent is a test instrumentation library links with the application
  • The Scripts incorporate syntax, keywords, and Java execution engines.

9. Calabash
mobile app testing tools
It’s an automated acceptance testing system for mobile applications. Calabash could be contrasted with Selenium WebDriver.
Nonetheless, it is imperative to understand that interfacing with a web application from a computer is hugely not the same as interacting with a native application utilizing a touch screen.
Calabash also comprises of libraries that permit test-code to collaborate with hybrid and native applications automatically.
Features

  • It gives APIs which are specialized to native applications.
  • It enables the Cucumber framework that makes it simpler to comprehend by business specialists as well as the non-technical QA team.

10. Selendroid

Selendroid is a powerful standout tool for various types of Android applications. These app testing tools promote full integration with the current Selenium system because of the client API interface. It also supports full integration with Selenium Grid for scaling and parallel testing.
Features

  • It is fully compatible with the Selenium 3 Ready/JSON Wire Protocol
  • Selendroid can be utilized on real devices, simulators, or emulators.
  • Testers do not require to alter an application for automation.
  • The tool also supports old Android versions.

11. KeepItFunctional

KeepItFunctional or KIF is an iOS integration test system that permits simple automation of the iOS apps. The tests for the system are written in Objective-C that enables the highest integration with the code and limits the number of layers that must be created.
Features

  • It is an open-source system intended to test mobile application UI.
  • It makes and executes the tests utilizing a standard OCUnit testing target.
  • It takes into consideration simple automation testing of iOS applications.

12. Ranorex

Ranorex consists of powerful features for mobile app testing. It enables the user to recreate the real user interaction with the app utilizing several gestures given by various devices. It can likewise stimulate different gestures like swipe or orientation change.
Another preferred standpoint is the inbuilt RenoreXpath feature which enables the tool to distinguish dynamic UI components.
Features

  • The tool supports parallel testing to guarantee smooth execution over different devices.
  • It enables the testers to make data-drive tests by utilizing information stores like Excel, SQL, or CSV.
  • It accompanies built-in CI and source control integration with different tools like JIRA and TFS.

13. SeeTest

SeeTest Automation is a cross-platform solution that permits running the similar scripts on various devices. Being a fantastic test automation device, it’s equipped for testing mobile applications supporting both iOS and Android devices.
Features

  • The essential features of these app testing tools are phone testing, browser testing, battery testing, and so on.
  • It reinforces responsive UI Testing and continuous integration environment.

14. UI Automator
mobile app testing tools
UI Automator is an open-source system for User Interfaces with automated functional test classes.
Mobile app test cost calculator
Also, the UI Automator API of this mobile app testing tool is packaged in the UI Automator.jar file under the /platforms/ directory which covers class interfaces and exceptions.
It runs with all devices that support Android version 4.1 and versions released after that.
A tester must have a basic knowledge of JUnit to use this tool.
Features

  • It is capable to run apps on different devices.
  • It uses the scripts written in JavaScript.

Know More: Top 10 Automation Testing Tools 2019

15. Kobiton

A cloud-based testing platform that helps in running manual and robotized tests. This special platform is built on Appium open-source system. Kobiton will allow users to test in real devices and get more accurate results. Cross wise contents can also be tested using this platform without much of content alteration.
Features
• Test application on the latest devices
• Local devices can be connected to their cloud system
• Can be used to perform both manual and automation testing
• 350+ devices to test
• Details log recording with screen recording option
• Manual and automates tests can be run in parallel
• Power API testing with Katalon studio integration
Conclusion
Mobile app testing tools are the most important part of any app testing company. What’s astounding about them is that they can reduce the testing time of any project and increase efficiency within no time. However, choosing one from the wide range of tools out there in the market should be based on the specification of your company or project.
They are evolving with time and soon we can expect RPA integration and codless test scripting in these tools which will further reduce the testing time.