User Experience

As a product based firm CloudQA often in its demo sessions is hit by a query – How do you assure quality to the digital audience each time? Our answer is simple – We value user experience more than the code.  Our testing approach is user-centric, and if research shows users are deviating from the traditional approach, we improvise and align our testing strategy with them.  Our Review and Fixtures models make sure to explore the product development Lifecycle, fix the testing approach and rearrange the components. How?

Read on to know How We do it…

Recognize the Transformation

UX Transformation

Users

The users are “SUPERPOWERFUL” they can push a product to its High and could even let it shatter on the ground. Many of the Founders put in their efforts to research if the idea is worth to be converted into business, but most of them forget the packaging of the idea. Does that serve the purpose? Many firms try to get users to try their beta version before rolling out it to the users, but is it not too late to put your product under stress? What if it fails?

Technology

Would you like to go for a desktop version or a mobile app as well? Would that be available only for Android or even iOS? Would open source tools be the right choice? Could these be integrated seamlessly with other third-party tools? These all questions may have a different answer when approached via the budget and timeline the firm has. But think about it from user perspective – Are the technology used safe and secured for the users? Would users be more inclined to a web version or an app would be good-to-go? Could constant monitoring be more helpful in predicting disaster before it happens?

Timeline

The timeline is another crucial aspect of recognizing the change. Users need things at a super-fast speed. They are not willing to wait for your monthly release; they need to be updated software version on a daily basis [at least].

Data

Users no longer wish to provide Name, Age, email address type data set again and again. The software should be smart and intelligent enough to pick it up and allow users to log in and showcase personalized dashboard/preferences.

With these known transformations, the traditional product development Lifecycle needs to straighten out. Currently, the three categories of Product Development Cycle that are floating are –

  1. Traditional monolithic desktop application – Products like MS Office or Chrome browser that could run independently on a desktop.
  2. Core Services – These are the software pieces that are in the form of an API and mostly need an integration. Just for example –  payment, storage, ad networks, analytics
  3. Standalone yet Integrated Applications – These are the products that are mostly user facing and could be integrated with any other third-party products or core services. They could work independently but may also be integrated with others. Just for example an online food ordering joint may work independently but could also be combined with Google Maps to know your location and provide you with personalized choices.

Now we know “the transformation” and the “product development category” so now putting up a test plan be an easy job? Not Really! Albert Einstein said

You can never solve a problem on the level on which it was created.

Hence each application needs to move at a different level to be tested.

User Experience

Reviews and Applying Fixtures

If you already have a Test Automation suite we run a “Quick Review” to know why is it breaking. Based on our experience and research here are some of the common reasons for why test automation is breaking –

  1. Low User Engagement – Based on Quettra’s data shows that 77 percent of users never use an app again 72 hours after installing. After a month, 90 percent of users eventually stop using the app, and by the 90-day mark, only 5 percent of users continue using a given app. All this data highlights an interesting fact that your app is not engaging enough. Some of the reasons highlighted by users are – App Crashing, Poor performance and usability and excessive use of memory.
  2. Halted continuous delivery and DevOps – Another research shows that only 8% teams could achieve nearly 50% of test automation and 41 % of the teams had less than 1% test automation achieved. This data highlights the fact that even though the efforts were made but were not continuous and did not involve DevOps.
  3. The Huge cost of testing – Testing needs tools and resources that come with a price tag. Hence many firms cut the budget to save pennies and roll out bad quality product.
  4. Gaps between business owners and QA – There exists a huge gap between the product owner specifications and testers viewpoint that reflects the quality of the product.

Once we have identified the “problems areas” we apply Fixtures –

Ways to fix to test broken approach

@CloudQA we try to provide a remedial solution to patch up the Test Automation Suite to enable  in offering a quality product. Here they are –

Be the User

Have you ever thought how a knee replacement device could be tested? As a tester, would you cut your leg and then test it? Well, not really but the feel of the user is of utmost important for a tester designing the test cases. And these scenarios cannot be achieved by just following a High-level requirement document; you need to think and act like him.

Scope of Testing

Testing is not restricted to functional document, based on usability, performance and even security are the key aspects that need to be covered in the scope of work. In fact, our recent article on why testers need to be ethical hackers gives you top reasons to cover security aspects for sure.

Automate All Processes

While a single sign in is a user preferred choice, make sure to apply it to automation process as well. Single click should result in test case execution, review test results and analyzing the root cause. So go beyond test execution…..go for automation of all processes.

Reporting test status in terms of user experience

As a user, how/what would you rate a functionality of an app? Would the user have enough information to know about the fields? Does the UI looks scatter? Try to challenge yourself as a user, and you could surely give the best experience they ever had.

I remember my 8th-grade economics lesson – democracy is

For the people

By the people

Of the people.

And trust me that’s the same about your product. Believe in the power of users!

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Talk to out Test Engineers

Fast track your ecommerce monitoring

Recent Posts

Continuous Testing

Continuous QA

Need To Know the Best Practices For Agile

The Delivery Manager approached the QA Head – When do you stop testing? The Head replied – We never stop testing, it should be continuous we may put a ‘,’ to pause for a while but make sure to pick it again to near perfection. The day, we stop testing, means our product is going to be the history in the market. Even if your product is stable, we need to test it if it works with new browsers, new java version? We need to test it again to see if it could take up a load of new users. We want to deliver quality, and hence Continuity is the key, we do not deliver use-n- throw software.

That’s the power of Continuity!

So how do manage continuity? Is Continuous Agile a tough game? Let’s a take a sneak peek into the best practice’s that could help you gain control of Agile and keep it continuous –

Know Your Customer

Knowing your customer mindset is of prime importance, just for example if you are testing a bank app – How easy it would be for the user to log in who a layman is? In case he forgets his password, do they have enough information to retrieve his password? Or what kind of information could hacker use to hack the account? Is the password field allowing a ‘copy function’?

Get into the shoes of the customer and then design the test cases/test scripts.

Integration and Automation is the Key

For testing to be Continuous Agile, every piece of code checked in needs to be included in the build. The Build Automation needs to be integrated with Automated Deployments, Test Case Execution,  Regression Results and Bug Tracking.

Automate Test Cases TestAutomation

Manual Test Execution is a thing of past! Automate your test cycles to speed up the processes and widen your coverage.

Execute Smoke Test post Deployment

A test suite consisting of some bare minimum test cases in necessary for QA to start on Functional, Regression Testing to ensure the environment stability.

Convert Business UseCases to Test Scripts

Get in touch with the product owners/business users and try to get the use cases that could be elaborated to test scripts.

Access Your Software Risk Appetite RiskBasedTesting

What could be critical for a business user? What are the features that for software should work seamlessly and any issues in that could be disastrous? Weigh your features as per the risk associated with them and devise a Risk Based Test Suite. Either you could assign a number from 1-5 [ 1 being lowest and five being highest regarding risk] to your testcases and then could create a suite. Or you can get help from your business users/ top level professionals to assist you with that.

Adopt Lean Testing LeanTesting

Lean Testing is a concept where the waste is identified at an early stage to maximize quality. Just, for example, your banking app gets a new feature – as a new icon. As a tester now how would you design your test cycle? Does it need to have all the functionality tested or may be few would do? Lean Testing is a process through which you can not only speed up your testexecution but also identify the processes, delays that could hamper your continuous Agile process and provide guidelines for improvement.

Follow Standards, QA Processes, Testing Pyramid

Processes are meant to help you achieve faster and transparent results, so it should be a good practice to stick to them. To work on the test execution, you could also take help from the TestPyramid model and based on your risk appetite could work on UnitTesting, UITesting TestAutomation or IntegrationTesting.

Change is Constant

Charles Darwin said – “It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.” Hence, there would be last minute changes, fixes, builds and processes, the important point is you being prepared for it?

Give some time to Exploratory Testing Exploratory Testing

You cannot automate exploratory testing but is an integral part of any QA cycle, allocate some time for its manual execution.

Continuous Agile Testing is a process that could provide you with maximum throughput when you are Continuous. As the quote says –

A phased approach to continuous delivery is not only preferable; it’s infinitely more manageable.

– Maurice Kherlakian.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Recent Posts

Selenium Test Automation

Selenium is by far the most preferred Test Automation tool for web applications and more people are adopting it for their test automation strategy. As someone new to test automation, do you know what it takes to set up a successful test automation environment and be productive with it? Here are some thoughts.

Selenium Test Automation

Starting out with Selenium

Evaluate the skill set of your existing resources: Identify if you have experienced resources in-house or how you will acquire resources with experience in one of the languages that Selenium supports (Java, C#, Python, Ruby, Php, Perl & Javascript).

Selenium training: Once you have identified the people who will work on your test automation efforts, you have to account for the training period which could be anywhere from a few days to a few weeks depending upon the existing expertise of the individuals.

Test automation framework: Deciding on a framework can take a lot of work. There are a few approaches that are available that you have to evaluate and decide the one that fits best in your environment. The frameworks that exist include behavior driven, data-driven, keyword driven & now agile.

Define Object Repositories: These repositories are a collection of UI and Application object data recorded by the testing tool for the application under test.

Define a test reporting framework: Selenium does not offer any sophisticated reporting mechanism so you will have to decide what type of reports you would want for your test environment – this may include test execution results reports and test management related reports.

Once the items above are addressed, you can start building your web automation tests.

As you can see that building out an effective test environment with Selenium will require commitment, up-front time and qualified resources. For an organization with a large application that has frequent updates, you will also have to prepare for managing the test cases already written & evaluate their usability in an ever-changing environment. Just to get the initial framework ready, you can spend anywhere from a few weeks to a few months before writing a single automation test.

Selenium Productivity Add-ons

While Selenium is probably one of the best test automation tools, you should look at tools that can help you speed up the entire automation process. There are a few Selenium Automation “wrapper” tools that run on top of Selenium and make you a lot more productive and you should definitely not shy away from evaluating them for:
1. Complexity – how complex are they to set up, learn & run
2. Test coverage (what % of selenium features can they support, can they automate, say, 80% of your automation needs with little effort)
3. Test management: Chances are that you will end up with 100’s of test scenarios over a period of time. You want to ensure that can easily manage the test cases
4. Reporting: You should be able to get a wide variety of reports including test execution & analytics with past results
5. Test Execution: You want to ensure that your texts can be validated against multiple browsers
6. Other productivity benefits: check if the tool helps you in your agile development process, CI/CD integration, assist in data-driven testing, etc.

If you want to learn more about being more productive with Selenium, contact us at CloudQA (info@cloudqa.io)

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Benefits of Automation Testing with CloudQA
Fast track your testing process

Recent Posts

software test management

The effectiveness of Automated Testing wherever applicable in software test processes has been rarely disputed. Automated Testing reduces testing time, identifies bugs faster and facilitates continuous development (CD). However, Automated Testing environments tend to get extremely large (one with over 100 test scenarios would qualify as large and test scenarios can easily run into 1000’s) and tedious to maintain. It produces results that cannot be fully relied on. Therefore, it is critical to managing a large test environment effectively using well-defined processes and a decent set of tools.

If your test library is large, it is important that you find out if the individual test scenarios are properly organized, critical to the core application and relevant to the latest application version or to the usage pattern.

software test management

1. Test Organization: Your applications tests may involve testing various functional capabilities of an application. How do you determine which tests to run after you have made updates to just one section of your application (for example, your “billing” functionality has been updated)? You may not want to run all your test scenarios (unless doing regression tests) in order to test a small update. Your test framework should allow you to categorize your tests by functional areas so that you can quickly filter out everything else and run only those tests that belong to a specific function.

2. Test Criticality: Ideally you would create tests that cover both the critical and non-critical areas of your application. Your testing framework should provide an efficient way to manage bugs and failures. You should be able to categorize your test upfront by criticality (Critical, High, Medium or Low) so as to prioritize the testing as well as the resolution based on the criticality of the test.

3. Test Relevance: In most environments, software development and testing is a continuous process and over time you can have a large number of tests. Unfortunately, as software evolves (with new or updated features, changed processes, etc.) some of the tests become redundant or duplicate. It can be challenging managing test library to ensure that only quality test cases exist, especially if your testing framework does not allow for easy review of the individual test cases/scenarios. You should be able to log and keep a track of the entire test creation life cycle (including updates). For instance, you should be able to track the test creation date, the module/release version for which the test was created, the test case revision history along with the name of individuals who authored the tests. This would make a periodic review of test cases to identify redundant scenarios much easier and keep your test library lean and clean. It will ensure a test environment that provides high-quality test results that you can rely on to make decisions. You do not want to rely on the results from redundant tests by ignoring “passed” results or waste your time by acting on “failed” results that they produce.

4. Test Usage: If there are test scenarios exceeding 2 months sitting in your library, there is a possibility that they are just taking up space and may not be required anymore. It is vital that your testing framework should be able to identify such test scenarios so that you can make apt decisions, either to re-prioritize or re-categorize them for efficient usage or get rid of them.

By maintaining your test libraries through regular checks, you will certainly have a manageable test environment that produces reliable results on which you can make assertions and also ensure a faster and better software development process.

CloudQA and Effective Test Management

CloudQA is much more than just a Web Test Automation tool. It has some helpful features that make test management much simpler.

Test Organization: You have the ability to tag your test cases and test scenarios by functional groups or any other preferred method. (show image)

Test Criticality: Tag your test cases/test scenarios as Critical, High, Medium or Low.

Test Usage & their Relevance: CloudQA keeps a record of the run history of all your test cases. You can view the history in many ways – for example – show the behavior of “Critical” Test Scenarios in “Billing” function over the last 4 weeks OR show the “Critical” test scenarios that have not been run in the last 2 months OR look at the revision history or a particular test.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Benefits of Automation Testing with CloudQA
Fast track your testing process

Recent Posts

Testing As A Service

As companies rush to meet the ever-evolving, customer focused, multi-interface, and technologically complex solutions, software quality and time to market becomes a critical need. One quickly realizes that software testing plays an important role in the growth of any company offering such solutions. However surging costs, high-security environments, and software sourcing variability has made the software testing function challenging.

Testing As A Service

In such an environment, it is important to assess and implement the right methodologies to achieve scale, minimize costs and offer improved services. Testing-as-a-Service (TaaS) is considered a viable testing model by many organizations to achieve reduced costs and improved service for their IT test requirements.

TaaS does this by outsourcing testing activities associated with some of a company’s business activities to a service provider rather than using their own employees/resources. By using a consumption-based pay model, there is less risk and investment on the part of the organization.

TaaS can be used for various QA activities, such as:

1. Functional testing
2. Load / Stress testing
3. Performance and Benchmark testing
4. Regression testing

Advantages of TaaS over traditional testing

1. Scalable model via public cloud – utilize computing power, disk space, memory as per current requirements but have the ability to ramp up on demand very quickly
2. Costs – Pay for what you use. No need to own your own infrastructure. No capital costs incurred.
3. Licensing benefits – Operating system (OS), test tools, hardware, application licenses are managed by the cloud.
4. Standardization – Centralized test environment with a standard set of tools and processes will ensure repeatability, efficiency and quality results

Besides self-service SaaS-based subscription model for automated testing, CloudQA also offers Testing as a Service for companies that do not have the bandwidth to carry on this essential step in their agile development process. Customers do not have to worry about any software licensing, infrastructure, expensive testing resource or steep learning curve for the testing tool & processes. Instead they can focus on developing their own software which is their area of competency.

Why CloudQA?

CloudQA has an established framework for delivering enterprise-ready testing and providing clients with the ability to take advantage of paying for what they need, when they need it, rather than investing in expensive tool sets and experts.

1. Center of Excellence – You will interact with a group of people that promote collaboration, employ software testing best practices with both tools and techniques
2. Process – We employ industry best practices and methodologies that will result in higher productivity and you will get more bang for your buck
3. Governance – We offer relationship management, QA Project management, and a centralized test environment, with standardized software library and test suites. We also provide a self-service portal which cuts downtime required to provision test environments.
4. Infrastructure – We own the automation software and even have an offshore facility for providing a cost-effective, highly scalable, and fast automated test solution

Jump start automation of your web application

Try our Testing As A Service starting at $499/month

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Benefits of Managed Testing with CloudQA
Fast track your testing process

Recent Posts

software test management

The effectiveness of Automated Testing wherever applicable in software test processes has been rarely disputed. Automated Testing reduces testing time, identifies bugs faster and facilitates continuous development (CD). However, Automated Testing environments tend to get extremely large (one with over 100 test scenarios would qualify as large and test scenarios can easily run into the 1000’s) and tedious to maintain. It produces results that cannot be fully relied on. Therefore, it is critical for managing a large test environment effectively using well-defined processes and a decent set of tools.

software test management

If your test library is large, it is important that you find out if the individual test scenarios are properly organized, critical to the core application and relevant to the latest application version or to the usage pattern.

1. Test Organization: Your applications tests may involve testing various functional capabilities of an application. How do you determine which tests to run after you have made updates to just one section of your application (for example, your “billing” functionality has been updated)? You may not want to run all your test scenarios (unless doing regression tests) in order to test a small update. Your test framework should allow you to categorize your tests by functional areas so that you can quickly filter out everything else and run only those tests that belong to a specific function.

2. Test Criticality: Ideally you would create tests that cover both the critical and non-critical areas of your application. Your testing framework should provide an efficient way to manage bugs and failures. You should be able to categorize your test upfront by criticality (Critical, High, Medium or Low) so as to prioritize the testing as well as the resolution based on the criticality of the test.

3. Test Relevance: In most environments, software development and testing is a continuous process and over time you can have a large number of tests. Unfortunately, as software evolves (with new or updated features, changed processes, etc.) some of the tests become redundant or duplicate. It can be challenging managing test library to ensure that only quality test cases exist, especially if your testing framework does not allow for easy review of the individual test cases/scenarios. You should be able to log and keep a track of the entire test creation life cycle (including updates). For instance, you should be able to track the test creation date, the module/release version for which the test was created, the test case revision history along with the name of individuals who authored the tests. This would make a periodic review of test cases to identify redundant scenarios much easier and keep your test library lean and clean. It will ensure a test environment that provides high-quality test results that you can rely on to make decisions. You do not want to rely on the results from redundant tests by ignoring “passed” results or waste your time by acting on “failed” results that they produce.

4. Test Usage: If there are test scenarios exceeding 2 months sitting in your library, there is a possibility that they are just taking up space and may not be required anymore. It is vital that your testing framework should be able to identify such test scenarios so that you can make apt decisions, either to re-prioritize or re-categorize them for efficient usage or get rid of them.

By maintaining your test libraries through regular checks, you will certainly have a manageable test environment that produces reliable results on which you can make assertions and also ensure a faster and better software development process.

CloudQA and Effective Test Management

CloudQA is much more than just a Test Automation tool. It has some helpful features that make test management much simpler.

Test Organization: You have the ability to tag your test cases and test scenarios by functional groups or any other preferred method. (show image)

Test Criticality: Tag your test cases/test scenarios as Critical, High, Medium or Low.

Test Usage & their Relevance: CloudQA keeps a record of the run history of all your test cases. You can view the history in many ways – for example – show the behavior of “Critical” Test Scenarios in “Billing” function over the last 4 weeks OR show the “Critical” test scenarios that have not been run in the last 2 months OR look at the revision history or a particular test.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS