Select Page

Category Selected: Latest Post

95 results Found


People also read

Mobile App Testing

Appium 2.0: New Features & Migration Process

Automation Testing

A Conclusive Allure Report Tutorial with Sample Report

Talk to our Experts

Amazing clients who
trust us


poloatto
ABB
polaris
ooredo
stryker
mobility
A Conclusive JAWS Testing Tutorial with Keyboard Shortcuts

A Conclusive JAWS Testing Tutorial with Keyboard Shortcuts

A screen reader is an assistive technology that helps people with disabilities such as blindness, vision impairment, and low vision. The screen reader renders the various webpage elements like the text, buttons, and images as speech and braille output. There are various types of screen readers for different environments. As one of the leading accessibility testing companies, we make it a point to familiarize ourselves with all the top tools. And JAWS is definitely one of the best options out there. So in this JAWS Testing Tutorial, we will be exploring the important JAWS Hotkeys and have a step-by-step guide to get started with JAWS for testing purposes.

Did You Know?

JAWS was created by Ted Henter in 1989 who is a former motorcyclist who lost his eyesight due to a fatal car accident in 1978.

Ted Hunter - Founder of JAWS

Why JAWS?

Jaws (Job Access With Speech) is the most popular screen-reading tool available in the market. It can be used to read the content in documents, web apps, emails, eBooks, and so on. It is available in over 10 different languages and has multilingual Eloquence & Vocalizer expressive synthesizers that enhance the overall experience. It helps a visually disabled user to read the content by just using the standard keys, has skim-reading capabilities, and has screen magnification options that make it a complete package. So, we can use JAWS without any second thoughts to ensure that the web pages have been designed according to the accessibility norms and regulations.

How to Install JAWS?

The installation process we will be covering is for a Windows machine.

  • Download the latest version of JAWS from their official website.
  • Open the downloaded exe file.
  • Click on “YES” in the popup dialog box that appears.
  • Click on the checkbox to accept the agreements and click “Install”.
  • Once the installation has been completed, close the window and restart the computer when prompted.

Now that we have seen the installation process, let’s take a look at the JAWS Hotkeys you’ll need to know.

JAWS Hotkeys/Keyboard Shortcuts:

S. No Functions Shortcut Key
1 Start Reading Insert+Down Arrow Key
2 Stop Reading Ctrl
3 Heading Navigation H
4 Direct Heading Navigation (H1 To H6) 1 To 6
5 Landmarks R
6 To Go To Main Content Region Q
7 Tables T
8 Data In The Table Ctrl+Shift+Right/Left/Up/Down Arrow Key
9 List L
10 Items In A List I
11 Previous Line Up Arrow
12 Next Line Down Arrow
13 Previous Word Left Arrow
14 Next Word Right Arrow
15 Links And Form Controls To Navigate Forward Tab
16 Links And Form Controls To Navigate Backward Shift + Tab
17 To Activate Links And Form Controls Enter/Space
18 Select From A Group Of Radio Buttons Up/Down Arrow Key
19 To Submit A Form Enter
20 To View The History Of Speech Viewer Insert+Space+H
21 Page Refresh F5/Shift+F5
22 Select And Deselect Checkboxes Space
23 Go To Graphic G
24 Unvisited Link U
25 Visited Link V

We have listed only the most important JAWS Hotkeys you’ll be needing here. If you can’t find a JAWS keyboard shortcut combination you are looking for or want to explore all the JAWS Hotkeys, kindly use this file.

How to perform JAWS testing?

To test a website using JAWS, you have to open a browser and navigate to the website you’d like to test, and start using JAWS. Though it sounds simple, you might feel lost and not know what to do to get conclusive results. Thanks to our years of experience in providing the best web accessibility testing services to all our clients, we have created this list that will help you get started with JAWS testing.

Navigation

Being able to access the entire page and understand the content is one of the most basic actions that every user must be able to do. You can check that by navigating the page using the TAB key to ensure that all interactive elements receive tab focus. Also, verify if non-interactive elements don’t receive tab focus. Check if the focus order is from left to right or right to left.

Just like how we try to skim through the article by seeing the headings to get an idea, people using JAWS should also be able to do that. Since the screen readers can’t convey the visual representation, make sure to check the heading tag’s flow as if it is not in order from H1 to H6.

Once you’ve checked that, move down the page using the down arrow key and observe if all the content is read properly in a meaningful sequence without any repetitions or sections getting skipped. You also have to make sure that everything works well when going back to the previous lines using the up arrow key.

Multimedia Content Alternatives

Websites don’t shy away from using various multimedia content like photos, videos, and so on to make an impact. As a first step, verify if all the images receive focus. If they do, check the alt text (alternative text) and see if it is relevant and if it describes the image well enough.

Videos that have voiceovers or dialogues will not be much of an issue as it can be understood by listening to the audio. But if the video has burnt in the text without any voice-over, then you have to make sure to add a transcript that can be read by JAWS for the user to understand. Likewise, if the video is entirely visual, you can add an audio description to make it possible for the user to get at least an idea. It is recommended to not have videos auto-play when the site is opened. So it must be possible to control the playback of the videos using your keyboard.

Videos that have voiceovers or dialogues will cause much of an issue as it can be understood by listening to the audio. But if the video has burnt in the text without any voice-over, you have to make sure to add a transcript that can be read by JAWS for the user to understand. Likewise, if the video is entirely reliant on the visual, you can add an audio description to make it possible for the user to get at least an idea. It is recommended to not have videos auto-play when the site is opened. So it must be possible to control the playback of the videos using your keyboard.

Other Content Types

Internal and external links are very common on all web pages. So ensure that the change of context is clear and avoid vague lines like ‘Click Here’ or ‘Read More’ out of nowhere.

If there are any lists on the webpage, then it will be read properly only if the content has been fed as an ordered or unordered list. Likewise, if there are any tables, you should check if JAWS reads all the content with the respective rows and columns using standard keys.

Check if the table row and column headers are read out for each table cell to make it easy to understand. Verify if all form fields, links, and buttons are accessible when using the space/enter key.

Avoid Visual Reliance

It’s a common practice to make certain words, phrases, or even lines appear bold to emphasize their importance. But since they are only visual cues, they will not be picked up by the screen reader. So make sure to use ‘strong’ and ’em’ tags when needed. The same applies to any color variations used for the same purpose.

Yes, Captcha is an important feature in a website. But that doesn’t mean you have to use only visual options as it will not be possible for JAWS to pick it up.

Though flashy signs and calls to action are of the past and can no longer be found on many websites, it is still important to check for them. JAWS will have a tough time if an image with the words download is hovering over a vague hyperlink text like ‘Click Here’.

General JAWS Testing Checks

  • Make sure if your page has a bypass block, the main content, and a landmark region.
  • Verify if all the ARIA attributes have been implemented properly.
  • Ensure that there are no black hat SEO techniques such as using hidden text to boost ranking as it will disrupt JAWS.
  • Check if all the content is in a single language and if there are any different languages used, do mention it in your code to avoid confusion. It is also a good practice to use a language attribute to mention the language.

Conclusion

We hope you have found this JAWS Testing Tutorial and the JAWS Hotkeys to be helpful and now have an idea of how to test your website’s accessibility by using JAWS. You can even check out our blog that explains how you can easily test your website for accessibility. Though those easy checks will not be enough, it is always good to get started as you yield the twin benefits of fulfilling a person with disabilities their right to information and reaching a wider audience.

What You Need to Know About Manual Testing Applications

What You Need to Know About Manual Testing Applications

Manual testing is the act of executing a software application with the intent of finding software bugs. While there may be the option to use automated testing, manual testing has its own advantages.

In this article, we talk about the importance of manual testing. We also discuss when it should be performed and who can perform it.

What is Manual Testing?

Manual testing is a process that consists of checking the functionality of a product by the evaluator. The purpose of this activity is to find errors or defects in an application before it is deployed in the production environment.

Why is Manual Testing Important?

This kind of testing is important because it helps detect bugs before releasing a product to the public. The better the quality and quantity of your testers, the higher probability you will find all possible errors and shortcomings in your product before release.

It can also help identify bugs that automated tests cannot. If we don’t do manual testing we may miss important bugs and problems which could lead to costly customer support calls and lost revenue.

Who Can Perform Manual Testing?

Manual testing can be performed by almost anyone who is knowledgeable in using similar softwares. However, most of the time, it is preferable to be done by someone who has a background in programming and software testing. This is important to identify enhancements that cannot be found by an average user.

What are the Types of Manual Testing?

There are several types of manual testing. They are as follows:

1. Unit Testing

The developers often perform a type of testing for the individual components and modules. This is referred to as unit testing—this ensures that each component is working properly without having to wait for it to be lost in a bunch of codes unable to detect it.

2. Integration Testing

This is usually done after unit testing. The purpose of this is to ensure that the modules work together after they are working individually. Some components are collaborating to keep the software running, so they must be able to work together without any hitches.

3. System Testing

As the name suggests, this means to test the system in its entirety. This means testing the final application with all components integrated to ensure that it is all working properly.

4. Acceptance Testing

This testing is done by the client to check if all requirements that have been agreed upon are met by the developers. This is done before the deployment of the application into the market to avoid any losses.

5. Black Box Testing

This is a blind type of testing where the users are doing the testing. They do not know the structure of the code or how it is built. They just know what inputs and outputs should be occurring and what functionalities should be taking place.

6. White Box Testing

This testing is done by someone who is aware of the build of the codes. The goal of white box testing is to give input about the code and to strengthen its security and functionality as an app.

Conclusion

While automated testing is useful and also necessary, manual testing has its own advantages and the need to be used. For the manual testing to be successful and fruitful, you do not only need a strong team of developers, but also a great quality assurance team to work through it with you.

If you need manual testing services to ensure the quality of your application, we at Codoid are glad to help. We are an industry leader in QA services, offering the best testing you will encounter in the USA and not letting any defects or flaws out of our sight. Book an appointment with us today for your QA and manual testing needs.

What are the Current Trends in Automation Testing in 2022?

What are the Current Trends in Automation Testing in 2022?

As per a recent report, the global automation testing market is expected to grow from an already high $20.7 Billion to a mammoth $49.9 Billion by the year 2026. So in such a fast-growing domain, you might lose out on a lot of potentials if you fail to keep up with the current trends in automation testing. Being a leading QA company that provides top-of-the-line automation testing services to all our clients, we have created this list of current trends in automation testing based on real-world scenarios and not assumptions. So let’s take a look at automation testing trends to keep an eye on for 2022.

Automation Tools Powered by AI and ML

Artificial Intelligence and Machine Learning are two technologies that have the potential to take automation to the next level as it eases everything from test creation to test maintenance. With the help of AI and ML, we will be able to automate unit tests, validate UI changes, ease regression testing, and detect bugs earlier than before. So we will be able to achieve seamless continuous testing with the least amount of effort and resources. Though such capabilities aren’t possible now, the prospect of being able to achieve such a feat doesn’t seem to be far away.

Codeless Automation Solutions

Such growth in AI and ML will also yield the rise of codeless automation solutions that are slowly gaining popularity. So the learning curve can be greatly reduced and a lot of time can be saved with such codeless automation solutions. If you’re wondering that codeless automation sounds a little too similar to Selenium Testing, make sure to read our blog about codeless automation testing to know its advantages and to understand how it is different from Selenium testing. As an experienced automation testing company, we have to say that codeless automation will not replace automation. But it will definitely come in handy.

Cloud-Based Solutions

Be it testing or collaboration tools, cloud-based solutions are already flying high and there seems to be no slowing them down in the near future as well. They have so many advantages to offer such as cost-effective infrastructure, reduced execution time with parallel testing, better test coverage, bug management, and so on. With the never-ending pandemic raging on, the implementation of such solutions will definitely be high.

The Emergence of IoT Testing

We are slowly seeing IoT being implemented in more and more avenues like smart speakers, smart home appliances like thermostats, lights, and so on. It goes without saying that all these products would have to be tested. And since almost all information sharing across these devices is achieved through APIs, the need for API testing will definitely be on the rise. Making it an undeniable entry to our list of current trends in automation testing.

Security Testing

Security breaches were also on the rise during the pandemic and privacy concerns with regards to the user data also became a talking point. So you will no longer be able to use real-world data to test security. Instead, you’d have to use masking or synthetic test data generation tools to perform security testing and finally conclude with various compliance tools as well.

Conclusion

Pretty much every single point we have seen in this list of the current trends in automation testing is about the various tools that will be useful. But we should also make sure to focus on our automation skills and self-improvement to make use of the state-of-the-art tools and methods to achieve continuous testing.

What is Integration Testing in Agile and Why is it Important?

What is Integration Testing in Agile and Why is it Important?

We all know that integration testing is nothing but a type of testing that combines different components (both software and hardware) to confirm that they work properly together to meet the set expectations. By definition, Integration Testing is the same for both Agile and Waterfall. We also know they are an important type of testing that has to be performed irrespective of the software development model. But when it comes to integration testing in Agile, there is a lot more weightage for it as the DoD (Definition of Done) principle is a core concept in Agile. Being a leading agile testing service provider, we wanted to take a deeper dive and explain how integration testing plays a major role in being agile.

Agile vs Waterfall

In the conventional waterfall approach, integration testing would mostly happen at the very end of the development cycle. Performing integration testing for the entire application itself can be hard. Moreover, solving the issues or bugs that are found can become even harder as it might require a lot of rework. But since the agile methodology employs a more test-driven approach, we would test smaller modules of the application by using unit tests. Since we start integration testing in Agile during the early stages of development, we will identify any integration issues early on and resolve them easily in comparison to the conventional methods.

The Catch

But the catch here is that these smaller unit tests are all isolated modules. So there is no way you can write them off as tested completely in agile until you have performed integrated testing. There is no point in each of the modules working well on its own. It should all be able to work seamlessly together for the app to function effectively. So integration testing will be an important part of your Definition of Done checklist. But you have to make sure that the modules that are about to be tested are bug-free. In addition to that, the workflow in agile is such that there will be various changes to the modules that have already been tested earlier. So regression tests and smoke tests would come in to verify nothing is broken after the changes.

How to do Integration Testing in Agile Right?

You should have the proper environment and sufficient data to perform effective integration tests. Without a proper test environment that doesn’t mimic the hardware and software configuration in which the app will eventually run when released will only provide unreliable results. So test data plays an important role in developing a comprehensive test plan that will be useful in creating the required test environment.

Conclusion

Let’s take a look at two metaphors now and once again answer the question of why Integration testing is important in both agile and waterfall methodologies. If you are using the waterfall method, then very late integration testing can break your app as finding the issues can be like finding a needle in a haystack. Likewise, if you are using the agile method and fail to perform integration tests during the early stages, then you would end up with a set of puzzle pieces that don’t fit. So we hope you now understand the importance of integration testing in Agile.

The Conclusive Exploratory Testing Checklist to Follow

The Conclusive Exploratory Testing Checklist to Follow

Performing effective Exploratory Testing is not everybody’s cup of tea. But that doesn’t mean you have to shy away from it thinking it’s not for you or thinking you’ll be able to do it only after gaining a lot of experience. As one of the top QA companies, we have curated this exploratory testing checklist from the vast experience we have gained over the years. We have always found exploratory testing to come in handy in various projects as it helps unearth the software bugs that flew under the radar of the various test cases. So without any further ado, let’s take a look at the exploratory testing checklist and then explore them one-by-one in detail.

The Exploratory Testing Checklist

  • Charter Your Exploration
    • Don’t make your Charter a Test Case
    • Think from the user’s perspective
    • Interview the Stakeholders
  • Using time-boxed Sessions
  • Learning while Executing
  • Use Variations
  • Create proper documentation
    • Mind Maps
    • Defect list and Debriefing notes
    • Console and Logs

Charter Your Exploration

Exploratory Testing can be compared to exploration missions to easily get an idea of how to execute it. You can either wander around without any particular target with the hope of finding something or you can start your mission with a target in mind. You then have to plan a course as per the resources you have at your disposal to be more effective in your exploration mission and find the target.

Likewise, you can start out by defining what to explore (a particular module, or the entire app). Following which you can utilize the resources such as testing tools, data sets, exploratory testing techniques, and so on. You should be clear of what your target is as an exploration session without any target is not a good idea. So be sure of whether your objective is to test the app’s security, performance or test it on the whole.

A Charter isn’t a Test Case

The more and more details you add to a charter, the more and more it becomes like a test case. And that is something you should avoid at any cost. If your charter becomes like a test case, the point of performing exploratory testing is compromised. But at the same time, you shouldn’t let it be too vague as it’ll not be an efficient way of doing exploratory testing.

Since charters will not have all the expectations mentioned in an explicit manner like a test case, you have to analyze and pick up implicit expectations. For example, it goes without saying that a mobile banking app has to have a secure login feature that works only if the correct pin or password is entered. If that condition isn’t fulfilled, then it has to be explored even though it isn’t mentioned in the charter. You can call it the ‘Never and Always’ approach as all the app should always be able to achieve a few functionalities like providing a safe login and should never do certain activities like sign the user out every time the app is closed.

Put yourself in the User’s Shoes

Since it can be tricky to strike the balance between the two extremes to perform effective exploratory testing, the best strategy to not go astray would be to test by putting yourself in the user’s perspective. User workflows are so diverse in nature that they can’t be covered in just test cases. With this approach, you will easily be able to go beyond just testing functionality and test the app’s usability with the help of effective user stories.

Interview the Stakeholders

As we said earlier, exploratory testing makes it possible to detect potential future risks. Thinking from the user’s perspective will solve only half the problem. The other half can be solved only when you have a chat with the stakeholders. Once you do that, you will be able to understand the vision for the app in the longer run, discuss the priorities, understand the concerns of the stakeholders, and so on.

Time-Boxing

Time-Boxing should be an integral part of any exploratory testing checklist as even your well-developed charters can let you go down the wrong road and waste your time without it. When it comes to scripted testing, we will not be able to explore areas of concern immediately. But here once we have a hunch or a gut feeling about a probable issue, we will have the freedom to explore it and detect the bugs.

But you have to understand that not every assumption you make might lead to the detection of bugs. So make sure to time box your sessions so that you don’t get carried away with the exploration process. As one of the best manual testing companies, we have found timeboxing highly beneficial to our testing process. So if you are in a position to analyze your exploration and test accordingly, it will definitely yield good results. You have to be quick to learn and adapt your tests accordingly.

Learning while Executing

Learning while Executing has made it to this exploratory testing checklist as it is probably one of the biggest challenges you might face. A good exploratory tester will be proactive when performing the tests. Testing is accustomed to seeing the results we’d hope to see on most scenarios as you’ll have a well-defined test case. But in the case of exploratory testing, you’ll have to look beyond what you’d expect to see to find out what is actually happening and unearth hidden bugs that would usually go undetected.

The more you understand the app, the better it will be for you to guide yourself throughout the exploratory testing process. You will be able to not just detect bugs, you will be able to detect the root cause of such issues and find a cluster of bugs that are interlinked. You’d have to have an open mind while performing exploratory testing as rigid beliefs and generalized assumptions are traits that you should steer clear from.

Use Variations

Variations are an integral part of exploratory testing. It has made its way to our Exploratory Testing Checklist as you’d have to implement such variations based on what you learn on the go to be effective with your exploratory testing. But there are a few constant variations that you should look to cover. Let’s take a look at a few.

  • CRUD – Create, Read, Update, and Delete are important actions you have to test with whenever there is data involved.
  • Starve the application of any required information to see how it handles the situation. You can also give partial information or excessive information to see what happens as well.
  • Play around with the data formats and speed of input to ensure things don’t go wrong.
  • Centralizing and decentralizing the data or configurations of the application might also reveal undetected bugs.
  • Create intentional interruptions to explore the various stability issues that might arise.

We could just keep adding to this list, but we hope you get the idea. The fact to remember when it comes to using variations is that there are an infinite number of possible variations and it is not possible to test everything. So make sure to explore the interesting ones alone based on your targeted user base.

Documentation

The purpose of any type of testing isn’t just to identify bugs. Rather, the goal is always to identify the bugs so that they can be fixed. This cannot be achieved without proper documentation as if you don’t document your testing, you will never how to reproduce the bug or even find out the cause behind it. So make sure to take notes and keep track of the steps you take as it will also be useful in reviewing and analyzing your exploration on a regular basis. Apart from that, you can use mind maps and use documentations like consoles and logs to be more effective.

Mind Maps

Mind maps are very effective in helping us connect the dots that we might otherwise fail to see. In addition to making it easy for others to recreate the bug or issue to fix it, mind maps will help you detect functionality gaps. Since mind maps can be easily edited by adding or removing nodes, they will also suit the testing style employed in exploratory testing. Mind maps are a great match for exploratory testing as one will be able to be guided properly without needing too much information.

Defects list and Debriefing notes

Knowing how much is enough is an important aspect of exploratory testing. So with the notes you have taken for your reference during your exploration, you have to create a defect list to make sure no defect gets overlooked. You must also create debriefing notes wherever necessary to help the team understand your approach, and take input from your actions.

Inclusion of Identified Test Case

If we were to compare exploration testing to exploration again, then it’s obvious that we should keep a track of the routes that we have already taken. Likewise, once you have found an issue when testing your app, make sure to add relevant test cases of it so that further testing can be done and avoid exploring the same route again. But it doesn’t mean you have to stop exploring the entire area. You just have to avoid the same route. Here the area is a comparison to the entire module or feature and the route is the action you performed to find the bug.

Consoles and Logs

Consoles and Logs are the other warning systems that can help you analyze the inner workings of a system and bring unnoticed errors to your notice. They are a great way to understand the structure of the app which in return will help you attain the required insight to detect internal issues that might go undetected. You have to ensure that your logs don’t get too lengthy by filtering them out smartly. Let’s take a look at an example to get a clearer picture. If you are testing a web application, you should keep track of the JavaScript console, the webserver log, and the application log to detect any anomalies.

Conclusion

So it is evident that an app can be termed as completely tested only if both regular testing and exploratory testing have been completed. If that is done, you can be sure that your application has met the defined expectations and is free from any unexpected liabilities and risks. So we hope this exploratory testing checklist of ours will be helpful for you to get started and eventually become proficient at exploratory testing.

Why Businesses Need to Focus on Mobile Automation Testing

Why Businesses Need to Focus on Mobile Automation Testing

Everyone knows that various mobile apps surround every business sector as they continue to be significant business enablers.  All companies continue to expand their operations by creating mobile apps, as there has been a massive increase in the use of smartphones globally.

This widespread usage of these smart devices has actually peaked thanks to the heavy use of mobile apps, regardless of the industry.

Given the importance of mobile apps, it is apparent that you need to get mobile testing services to ensure that your apps are working and for them to achieve these characteristics: 

Functionality of the App

Mobile apps should perform the functions that are required of them, whether it is for a company to interact with their customers or for a game to be entertaining for a user. If an app cannot perform what the customers expect from them, they will stop using the app and possibly stop supporting the company. 

Impressive Performance

The user experience attracts a user to use a mobile app, and hence, the app must perform fast and smoothly to ensure the user experience is at its highest. Lags, freezes, and sudden crashes should not happen if you want people to keep using your app. 

High Level of Security

Mobile apps must be highly secure, as these apps manage the data, and hence, all sensitive data must be safe. Thus, for security reasons, mobile apps should be tested first, and only when everything is working should the app be rolled out.

Usability

The mobile user interface must be easy to use, especially for first-time users, and it must allow users to get their jobs done, regardless of how hard it is to perform.

Accessibility

Mobile apps must be accessible and usable on different devices such as smartphones, tablets, and even desktop computers. Mobile apps should be compatible and accessible to users of all kinds across all sorts of devices.

Tests are Necessary to Have an App that Would Impress Potential Customers

Although mobile apps are incredibly enticing for customers and most of them are automated, it doesn’t mean that you can ignore mobile app testing. If you don’t test your app in all possible scenarios, you might end up with a buggy app that doesn’t work on some devices.

It would be a great idea to implement mobile automation testing early in the project. Testing should also be done at every new stage or chapter of the app development process to avoid having to start over should you find a problem you need to address from previous stages. 

As a business, you certainly need to have an app that can solve pain points for your customers and help you reach more potential customers. However, an app that’s been created carelessly without proper and thorough testing could end up disappointing customers instead of impressing them. Therefore, you should dedicate time and effort to test your apps thoroughly. This might seem like an unnecessary extra step at first, but it will undoubtedly pay off when users find your app flawless. 

Conclusion

To sum it up,  getting mobile testing services allows you to check your mobile app’s performance on an actual device. You can also test your app in the environment that it would be used in. This way, all the characteristics that a mobile app should possess could be checked. Furthermore, the applications can be tested for various platforms such as Android and iOS, which allows you to ensure the quality of your app and ensure the end-users are happy with it no matter what device they’re using.

Codoid is a reputable company that offers mobile testing services that you can depend on. Contact us today to know how we can help ensure your app is ready for use by your customers!