Latest Trends in Software Testing !


In the recent past, there has been a great evolution in the field of software testing with new trends coming into IT industry services. The introduction of new technologies has brought the latest updates in the software design, development, testing and delivery. The top priority of the businesses across the globe is the cost optimization. For doing so, most of the IT leaders believe in the integration of the latest IT techniques for their organisation. Digital transformation is another important point of focus for the industries and the businesses are ranking high on the cloud computing and business analytics.

1. Scriptless Test Automation:

In recent years, there were several changes in the world of technology. The same has happened in the software testing world where Test Automation has evolved to facilitate rapid software releases at the highest quality. Automation has always been interesting, as it reduces the mundane testing efforts and accelerates the testing process. However, the ROI is not always well anticipated.

In order to maximize the scalability of test automation ‘Scriptless Test Automation’ is introduced. Scriptless test automation enables the testers and business users to automate test cases without worrying about the coding. It helps to achieve faster results and reduces the time expended to understand the code.

2. Artificial Intelligence:

Software testing is the only premeditated way where an application can be observed under certain conditions and where testers can recognize the risks involved in the software implementation. Testing, on the other hand, is gradually transitioning to greater automation to ensure maximum precision and accuracy in the journey towards digital transformation. In an attempt to make the application foolproof, the world is turning towards Artificial Intelligence (AI). This implies that instead of manual testing and human intervention, we are moving towards a situation where machines will be slowly taking over.


3. Robotic Process Automation (RPA):

New and emerging technologies, such as Artificial intelligence (AI), cognitive computing, the Internet of Things (IoT), and machine learning are revolutionizing all industries. Some implementations like self-driving cars are set to change the digital world. Advances in software and AI world have paved the way for Robotic Process Automation (RPA). It is the most recent technology which has the capability to re-invent the business process management landscape.

Wish you Good luck and all the very best for your future endeavors!!


#soni1010
#learn #something #new #everyday

6 Reasons For Automation Testing Failure

6 Reasons For Automation Testing Failure:-

Around 90% of the test automation community doesn’t know test coding, rather just a small percentage of the people know their tool, program and they understand coding as well.

Most of them go for the easy way!

Most hacks occur because individuals can’t afford real options, lack access to appropriate products which exist in a market that just doesn’t recognize their requirements. This similar strategy which is infused in our nature is applied by the test automation engineers.

There are primarily 4 types of automation tester who adapt to simple hacks for performing automation testing:

1. The Now Syndrome Tester: Whose aim is to fix the code now and rest will be tackled later on and that never again arises.

2. The Lazy Tester: These sorts testers have no time to write the codes or to learn new from the projects.

3. The Never-Failing Tester: Whatever arises these testers will make the test pass.

4. The Cod Puzzler: The testers who don’t know what they are writing in the codes.

So, what is the wrong way of coding? When you have utter disregard for anything you do that work monotonously.

You try to find the easiest solution to deliver the result as soon as possible, no matter how you are doing it.

Such kind of attitude is clumsily adopted by someone who is not proficient in the field. This is what people are doing in test automation projects, who know nothing about coding or don’t even want to the learn proper way.

There is a good chance that a failed automated tester will be having the following symptoms:

Automation testers do shortcut kind of work i.e. copy &paste.

Automation testers are horribly lazy to append more features.

Automation testers are not sure to make adjustments in the system.

Automation testers are scared to refactor the framework.

Rather than modeling tests every time, writing four lines of code and using test assertion from the test engine, and trying to catch bugs every time, testers believe to do 10 lines of coding.

They give weight to quantity instead of quality. And the good news is many of these code snippets technique is used all around the world, not just in India.

But it’s not something to take pride in because it basically is not the accurate method of testing.

Let’s have a look different types of coding shortcuts/hacks strategies applied by automation testers which categorize them as failed testers.

1. For Loop Method

Almost 38000of lines go through thought work, test runners don’t use test engine, especially in C#.

They start with the for loop for first 10 tests, then read the copied codes from excel and make this a regular procedure that sums up to 25000 tests.

This is the method of for loop with hardcore process calls. And these are really easy to accomplish automation test hacks which might seem unbelievable.

However, it’s a bitter reality of how unlearned testers are performing automation testing these days.

2. Duplicating of Tests

Another instance of such improper automation testing approach is taking one copy of tests as the point the variable changes in another scenario, even operating system changes but copied the content of code is taken in all the environments.

It’s never revealed by testers that the copy of the same test from a previous one is performed instead they tell that is was the same kind of test.

And this is done continuously on different scenarios. Moreover, after a certain time, the test code does not remain the same but it becomes similar since difference always occurs in automation testing–it’s impossible to refactor the code.

Since right testing is an outcome of hard work, not the hack of using “control + C” and “control + V” technique from the excel sheet –this is an extremely bad habit in coding and testing.

3. Spreadsheet IDE for Keyword-Driven Testing

There are many cases of test automation engineers who have complete codes saved in their excel sheets which they use in their keyword drove testing process.

Hence, in this way keyword driven testing has outlasted its purpose. Why? There are tests that need coding than some other tests require well representation by employing the keyword driven strategy.

But this addiction to copying code from spreadsheet practice has eventually ruined the whole process.

The automation testers are simply reading and copying from their spreadsheets, do string formatting, generate the C# file, organize it at the runtime and run the code!

Such failed testers don’t know how to model, even don’t want to study C# or.Net reflections just take the easy road to test, i.e. copying the codes. And this pathetic hack is run in almost all the keyword driven testing.

4. Researching Approach

Individuals nowadays state they are researching to learn better coding skills, but here too such testers use Google search engine to find the shortcut solutions.

How?

The testers open the links from the first few results of the Google page than they directly apply the same strategy –copying&pasting the codes from these links.

They do not model it; even they don’t notice that these codes already exist in their previous spreadsheets, because such automation testers are not trying to understand the real and accurate intent of testing. Surprisingly, they proudly declare that they write so many codes in a day.

5. Delete Assertion Rule

Further, these types of unprofessional automated testers work on the goal of deleting the assertion.

It’s our duty that in case that the automation testing begins to fail, we need to work on them rather than thinking that company will consider us a bad tester if we show them the failed testing results.

So, to save them from a shame the automated tester deletes the assertion which is a total misunderstanding of performing the test automation properly.

There is nothing wrong if a test fails basically, the goal is not passing the test. But the rule in an unskilled tester’s diary is – comment – run the code – create the report – uncomment it, eventually to pass the test anyhow.

6. Repeat Testing Technique

Then there’s a repeater automation tester. What is this type of tester’s goal?

The person doesn’t want to learn multi-threading so he/she instead of solving any issue will read it only once per test considering there are merely 10 or 12 tests that need to be run, so it’s fine using such technique! Most of the testers are working on this strategy.

So, the same file is read hundreds or thousands of times rather than learning something new.

Consequences of using Coding Hacks in Test Automation.

Collections of the plagiarized part

Neither an original innovation nor a relevant solution

Inefficient, insecure, improperly designed, and also illegal

These solutions can never satisfy the customer

Violation of IP rights

Can fail shortly as should be

Wrapping up…

To be honest, never can an automation testing be performed and achieved in this way. Hence, the test automation is not at all meant for the failed developers, knowing nothing about testing and coding.

Testing is not for everyone, not just for anybody who doesn’t know to code appropriately. In fact; automation testing is also not for the one who knows a few codes.

This great process needs right aptitudes, understanding of coding languages and eagerness to further learn something to sharpen the testing skills.

#soni10.10 
Selenium Best Practices

*1. The code should use clear names*

Variables should have names that explain their purpose.
Methods should have names that either explain what the method does or the result returned by the method.

*2. Use problem domain names*

If you do automation for an e-commerce site, make sure that you have classes for concepts such as

- product
- user
- basket
- cart
- order
- invoice

*3. Classes should be small*

A class should contain an average of less than 30 methods.

*4. Methods should be small*

Methods should not have more than an average of 30 code lines.

*5. Do one Thing*

This applies to both classes and methods.
If a method does more than one thing, consider splitting it in 2.
If a class has more than one responsibility, consider breaking it in more classes.

*6. Don’t Repeat Yourself*

Any duplication, inside a page object class, a page method, a test class or a test method should be avoided.

*7. Explain yourself in code*

Write code that is self-explanatory, that is so easy to understand so no comments are needed.

*8. Make sure the code formatting is applied*

Code formatted correctly is easier to read by other developers.

*9. Use Exceptions rather than Return codes*

If a method cannot fulfill its purpose, instead of returning an obscure error code,
throw an exception since the code is in an abnormal state.

*10. Don’t return Null*

There are many ways of avoiding returning null.
You can use Optional introduced in Java 8.
Or you can return an empty list.

Connect - http://www.facebook.com/soni10.10
Connect Socially - https://harendersoni.blogspot.com

Two Java Beginner Coding Tips

Coding Tips for beginners.Write your code as temporary comments, remove syntax errors as soon as you see them.

Here are a few tips I’ve been verbally passing on when suggesting people on my Java For Testers.

write the code you want to see as comments first
remove syntax errors as soon as you see them.

Write the code you want to see as comments first

Creating a blog comment e.g.
/*
iterate over the list and print the name of each object in the list
and assert that when I call getAge for each object it is greater than 18
*/
The reason for doing this is that learning Java is hard enough:
  • what short cut keys in the IDE do I use
  • what was that loop construct again?
  • how do I get the age?
  • what does the if statement look like?
You are trying to remember a whole bunch of stuff.
Writing down what you are trying to achieve means that you don’t have to keep that in your head at the same time.
Eventually you will stop doing this. And you will want to delete the comments when you are finished.
But, I’ve seen this help people because this helps stopping people get too lost.

Remove syntax errors as soon as you see them

When people don’t do this, they end up writing a bunch of code and then none of it works, and it can be hard to resolve.
As soon as you see a syntax error, fix it, to allow you to write code and harness code completion.
Sometimes that means I’ll write ""because I just want the syntax error to go away and I haven’t decided on the data yet.
Sometimes that means I’ll pass in null as the argument, because I don’t know what it should be yet, but I know it needs to be there.
Then when the line of code is syntactically correct, I make it semantically correct.
This also helps when you are using the IDE to write code with “Alt+Enter”, the more syntactically correct it is, the more the IDE will generate the code you want to see.
And using the IDE to write your code can help avoid syntax errors.

9 Most Popular Defect Tracking Tools [Issue Tracking Tools]

Popular Defect Tracking Tools

Defect tracking tools are applications which help us to record, report and monitor the bugs in a software development project. Before looking into the popular defect tracking tools list, I would like to raise some questions. Are you working in a company where excel sheets are using to track the defects? I don’t say using excel is not a good way of tracking bugs but why could not we try issue tracking tools, when we have best alternative open source tools. Everything in an organization is related to ROI (return on investment). So, most of the start-ups don’t invest on defect tracking tools and they simply use excel sheets to move on. Are you using any tool for tracking bugs? Is the tool you are using available in the below list else let us know the tool which you are using and we will include it in our list.

You are a part of your organization. Why could not you suggest one defect tracking tool to your team from the list below? A good tool helps your team get organized and communicate effectively.

List of Popular Defect Tracking Tools:

I am listing both free bug tracking tools and commercial bug tracking tools. Commercial tools have free trails too. Using free trial you could play around before choosing a commercial tool.

BUGZILLA:

Bugzilla Defect Tracking Tool
Bugzilla is an open source web-based bug tracking tool developed by Mozilla. It is one of the leading bug tracking tools used by many organizations.
It provides lots of features such as Advanced search capabilities, Email notifications, Scheduled Reports (Daily, Weekly, Hourly, etc.) by Email, Reports and Charts, Automatic Duplicate Bug Detection, File/Modify Bugs By Email, Time Tracking, Request System, Private Attachments and Comments and much more.

HP ALM:

HP ALM Defect Tracking Tool
HP ALM is an application management solution to help you to define, build, test, and deliver applications fast and with confidence across the entire Software Development Life Cycle (SDLC). It’s a premium tool and has a free trial.
Type: Commercial and free trial availableClick here to download.

JIRA (developed by Atlassian):

JIRA Defect Tracking Tool
According to Atlassian, JIRA is used for issue tracking and project management by over 50,000 customers. Companies like Twitter, Nasa, Audi, The Telegraph, and much more are using JIRA Software. Why still thinking, give a try. It is a commercial tool and it provides a free trial.
Type: Commercial and free trial availableClick here to download.

Mantis:

Mantis Defect Tracking Tool
MantisBT is an open source web-based issue tracking tool. It also provides a mobile version. Users are able to get started in minutes to manage their projects. Compatible with Chrome, Firefox, Safari, Opera and IE 7+. It has features like email notifications, chat, mobile version etc.,
Type: It has both Free & Commercial versions (You get 30 days free trial on commercial plans too)

Trac:

Trac Defect Tracking Tool
Trac is an open source, web-based project management, and issue tracking tool. The features include project management, bug tracking, a search engine for tickets, email notifications etc.,
Type: Free (check @ official website)Click here to download.

Redmine:

Redmine Defect Tracking Tool
Redmine is an open source, web-based project management, and issue tracking tool. Some of the main features of Redmine are multiple projects support, flexible role-based access control, flexible issue tracking system, Gantt chart, multi-language support, issue creation via email etc.,

FogBugz:

FogBugz Defect Tracking Tool
FogBugz is a web-based project management and issue tracking tool. It comes with features like a powerful search engine, issue tracking, Agile project planning, project management, support help desk, time tracking, discussion groups. Used by over 20,000 software development teams.
Type: Commercial but you get free for 2 users (on demand). Check the pricing page and confirm with the FogBugz support team if you feel to use it.

YouTrack:

YouTrack Defect Tracking Tool
YouTrack is a web-based bug tracking tool and project management software developed by JetBrains. It allows you to install on your server. It includes features like Bug & Issue Tracking, Agile boards, Reporting, Time Management.
Type: Free (Stand-alone installed on your server for 10 users) & Commercial

BugNet:

BugNet Defect Tracking Tool
BugNET is a free, open source issue tracking and project issue management solution for the ASP.NET platform.
Type: Free

Top 10 Automation Testing Tools in 2019

Top 10 Automation Testing Tools in 2019


Success in any test automation depends on identifying the right tool for the project. With a plethora of open-source and commercial automation tools to choose from, automation Testing tool selection can become tricky. Here is a curated list of best-automated tools -

1) Zephyr

Zephyr is the #1 selling test management tool, providing end-to-end solutions for agile teams of all sizes. Get the flexibility, visibility, and insights you need to release better software FASTER
Key Features:
  • 1-click Integration with JIRA, Confluence, Jenkins, Bamboo, and more
  • Cloud, Server, and Data Center Deployment Options
  • Advanced Analytics and DevOps Dashboards
  • No Annual Commitment Required

2) Ranorex

Over 14,000 users worldwide accelerate testing with Ranorex Studio, an all-in-one tool for test automation. Ranorex is easy for beginners with a codeless click-and-go interface, but powerful for automation experts with a full IDE for C# or VB.NET, and open APIs.
Features:
  • Functional UI and end-to-end testing on desktop, web, and mobile
  • Cross-browser testing
  • SAP, ERP, Delphi and legacy applications.
  • iOS and Android
  • Run tests locally or remotely, in parallel or distribute on a Selenium Grid
  • Robust reporting
Ranorex integrates with leading solutions like Git, TFS, Jenkins, Bamboo, Bugzilla, SpecFlow, NeoLoad, TestRail and more for a complete testing toolchain.

3) Squish

Squish is the new GUI Test Automation tool of choice for more than 3000 companies worldwide to automate the functional regression tests and system tests of their graphical user interface (GUIs) and Human Machine Interfaces (HMIs). The Squish GUI testing tool, a 100% cross-platform tool, features
  • In-depth support for all major GUI technologies
  • Full support for all desktop, mobile, web and embedded platforms
  • Test script recording
  • Powerful and reliable object identification and verifications (object-based and image based)
  • No dependency on screenshots or visual appearance
  • Powerful integrated development environment (IDE)
  • A wide range of popular script languages for test scripting
  • Full support for Behavior Driven Development (BDD)
  • Full control via command line tools
  • Integrations with Test Management and CI-Systems

4) QMetry Automation Studio

QMetry Automation Studio(QAS) is a leading software automation tool built on Eclipse IDE and leading open source frameworks, Selenium and Appium.
QMetry Automation Studio brings structure, efficiency, and reusability to automation efforts. The studio supports advanced automation strategy with coded automation and enables manual teams to transition into automation seamlessly with scriptless automation methods.
QAS provides a unified solution for an Omni channel, multi-device, and multi-locale scenario by supporting the web, mobile native, mobile web, web services, and micro-services components.
QAS is part of the AI-enabled QMetry Digital Quality Platform, one of the most comprehensive software quality platforms offering test management, test automation, quality analytics in a single suite. 

5) Tricentis

With the industry’s #1 Continuous Testing platform, Tricentis is recognized for reinventing software testing for DevOps. Through risk-based testing, scriptless end-to-end test automation, and the industry’s most extensive technical support, Tricentis breaks through the barriers experienced with conventional software testing methods.
Tricentis is the only vendor to achieve “leader” status in all three top analyst reports. Tricentis’ customer base of Global 2000 rely on Tricentis to achieve and sustain test automation rates of over 90%—increasing risk coverage while accelerating testing to keep pace with Agile and DevOps.

6) Maveryx

Maveryx Test Automation Framework is a functional and regression tool. It provides powerful and easy-to-use features for beginners (scriptless) and experts to automate a wide range of applications.
Maveryx unique technology inspects the application's UI at runtime as an expert human tester would, recognizing objects even if they have changed since test creation.
Maveryx eliminates the need for capturing and re-capturing GUI Maps (aka Object Repositories), definitely cutting the connected maintenance costs.
The Maveryx Framework gives an incredible speed up to the software release time, significantly improves software quality, while reducing testing costs and complexity.
                                                 

7) TestCraft

TestCraft is a codeless Selenium test automation platform. The revolutionary AI technology and unique visual modeling allows for faster test creation and execution while eliminating test maintenance overhead. Testers create fully automated test scenarios without coding. Customers find bugs faster, release more frequently, integrate with CI/CD and improve overall quality of their digital products.
Key Features:
  • No programming skills required. Leverage manual testers’ business knowledge and allow them to create automated test scenarios
  • Substantially reduce maintenance costs. Scripts are automatically adjusted to change due to our AI mechanism. Major changes are adapted with a few clicks
  • Selenium-based. Quickly integrate and leverage modules developed by the community
  • Provides immediate time to value. Nothing to install (SaaS). Easy to master

8) mabl

mabl delivers scriptless end-to-end test automation, integrated with your delivery pipeline so you can focus on improving your app.
Using proprietary machine learning models, mabl automatically identifies and surfaces application issues quickly, so you can:
  • Fix bugs fast - Robust test output helps you diagnose and fix bugs fast before they impact your customers.
  • Ship more code - Tests are automatically repaired when your UI changes so you can spend less time maintaining tests.
  • Maintain quality - Prevent bad releases with automated regression insights on every build.

9) Selenium

Selenium is an open-source web automation tool, currently in demand, and a widely used tool in the market. It can automate across multiple OS Like Windows, Mac, and Linux and browsers like Firefox, Chrome, IE, as well as Headless Browsers.
Selenium test script can be written in programming languages like Java, C#, Python, Ruby, PHP, Perl and JavaScript. Selenium offers record and playback features with its browser add-on Selenium IDE. The powerful Selenium WebDriver helps you create more complex and advanced automation scripts.

10) Functionize

Functionize is a cloud-based automated testing technology that combines functional, performance, and load testing into a single platform. It leverages machine learning and AI that learns any application, speeding up test creation, diagnosis, and maintenance.
Features:
  • Simply type what you want to test in plain English and NLP creates functional test cases
  • Fully autonomous test creation from liver user data
  • Execute thousands of tests in minutes from all desktop and mobile browsers
  • Root cause analysis automatically identifies all potential test failures and provides 1 click updates
  • Self-healing tests

11) HP UFT (aka QTP)

HPE Unified Functional Test is leading cross-platform automation testing tool. It can automate Web, Desktop, SAP, Delphi, Net, ActiveX, Flex, Java, Oracle, Mobile, PeopleSoft, PowerBuilder, Siebel, Stingray, Visual Basic amongst other applications. The list is of development environment it can automate is huge!
UFT uses VBScript as the scripting language.
The tool is tightly integrated with HP ALM (Test Management Tool) and HP LoadRunner (Performance Testing Tool)
Some of the distinguishing features of UFT include Business Process Testing, keyword driven framework, XML support, robust checkpoints, test results.

12) Watir

Watir is an open source web automation testing too.It is pronounced as "water."
Watir supports IE on windows. Watir + WebDriver supports FireFox, Opera, and headless browser HTML Unit.
The scripting language is Ruby, but you can automate web apps developed in any language.
Using Ruby, Watir gives you features to connect with the database, read flat files, excel – important for data-driven testing. You can reusable test code that can be repeated across test scripts.
Integrates with BDD tools like RSpec, Cucumber, etc.

13) IBM Rational Functional Tester

Rational Functional Tester is a commercial automation testing tool from IBM. It's supports a wide range of development environments like Siebel, Net, SAP, Java, PowerBuilder, Flex, Dojo among others.
It supports 2 scripting language Java and VB.Net
Rational Functional Tester(RFT) integrates tightly with IBM Rational Quality Manager (test management tool).
The tool supports functional testing, regression testing & Data-driven testing.
Storyboard Testing is a unique feature to RFT where the test script is recorded as a series of a screenshot of the actions performed against the Application Under Test. The tester can make changes to the screenshots to enhance the script.

14) Telerik Test Studio

Test Studio is the latest automation tool by Telerik. It supports automating applications like HTML5, Angular, AJAX, JavaScript, Silverlight, WPF, MVC, Ruby and PHP, iOS, Android. Telerik provides cross-browser support and is a record and playback tool.
It supports 2 scripting language C# and VB.Net
Test Studio can connect with source control systems like Team Foundation Server and GIT and execute Continuous Testing.
Telerik allows you to schedule tests, execute testing in parallel and has robust test reporting features.

15) Silk Test

Silk Test is a functional and regression automation testing tool from MicroFocus.
Silk Test Provides 3 products Workbench, Silk4J, and Silk4NET. Workbench use VB.net scripting language, Silk4J & Silk4NET can use Java/VB.NET, C#, etc
SilkTest supports Cross-browser testing, Mobile testing & provides Collaborative test design environment via Keyword driven testing.

16) Cucumber

Cucumber is an open-source Behavior Driven Development (BDD) tool. Cucumber supports languages like Ruby, Java, Scala, Groovy, etc.
Drafting test scripts is a joint effort of testers, developer, and customers. Cucumber supports only the web environment. Test code is written in simple English called Gherkin. Cucumber code can be executed on different frameworks like Selenium, Ruby, etc
The focus of cucumber is the end-user experience.

17) WorkSoft Certify

WorkSoft Certify is an automation testing tool for SAP. It can test and automate SuccessFactors, Concur, Syclo, Ariba Network, SAP Fiori User Experience (UX)
WorkSoft Certify can run tests unattended and automate end to end business process. The tool can be deployed even if an SAP project is in implementation, upgrade or maintenance stage.
WorkSoft Certify maintains a central test object repository such the test script maintenance, and reuse becomes easy. It provides an integrated test data management tool.

18) Katalon Studio

Katalon Studio is an open-source automation tool and supports the web and mobile environment.
It works on top on Selenium and Appium, thereby enhancing those frameworks with features like object spy, user-friendly IDE, object repository & browser plugin
The tool uses Groovy as the scripting language & support external Java library. Katalon allows you to re-use Selenium scripts written in Java and use directly in the tool. It works seamlessly with Continuous Integration systems like Jenkins, Bamboo, and TeamCity.

19) Leaptest

Leaptest eliminates the barriers to implementing automation. By relying on visual building blocks rather than programming, the Leaptest Suite is an automation platform for users at all business levels. Design your test case—or other business processes—as a flowchart and automate it without having to write a single line of code.
The visual intuitiveness of codeless automation is the key to empowering testers, letting them focus on the creative and strategic aspects of their work. Build Desktop, Web, and Citrix automation cases in a matter of minutes with the Leaptest approach: Draw. Click. Automate.

20) TestComplete

Testcomplete is a powerful and easy-to-use functional test automation tool from SmartBear. It can automate tests across desktop, mobile, and web applications.
TestComplete supports many scripting languages like VBScript, Python, and JavaScript as well as various testing techniques such as keyword-driven testing, data-driven testing, regression testing, and distributed testing.
With the tool’s record-and-replay feature and the robust object identification engine, you can also create complex automated test scripts without writing a single line of code.

21) TestIM

Testim.io leverages artificial intelligence for the authoring, execution, and maintenance of automated test cases.
Its proprietary technology learns and adapts automated tests to code changes, reducing 90% of maintenance time and 70% of authoring time.
Testim helps companies accelerate time-to-market and achieve unparalleled quality at a fraction of time of conventional solutions.