Automated testing

Full range of Automated Web Testing services, implementation of Robot Framework, Selenium WebDriver test automation tools.

Everyone knows how grave it is to test the web application or service you develop or your Plone website on a regular basis, and, with luck, everyone actually does perform it.  But do they really manage? Even a simple program, written in Python can behave in many different ways,  some of which occur solely in a rather uncommon (and hard to stage) scenario. Let's imagine every possible behavior was tested and the web application was validated upon initial release, what about the second release, or even a "slight" modification in the source code? The feature being added or modified will surely be tested,  but what about other, seemingly unrelated at first,  features that could have been irrevocably broken by that minor improvement? And the answer is …. automated testing.

AUTOMATED TESTING

Automated testingThe principle of automated testing is that there is a program that runs the web application, written in Python or Plone website feeding it the proper input, and checking the output against the expected. Once the automated test suite is written, minimum human intervention is needed,  neither to run the web application, nor to analyze the result;  the automated test suite does it all,  and shows (say, by a  message and a results file) which tests succeeded and which failed.

Let's switch for a moment to some example - testing a  form.  Forms are an integral part of any Plone website and an excellent means to assess your business.  They are used to engage users, provide support, sell products and services, etc. A badly designed form or one that was poorly tested can and will frustrate your visitors into leaving with a bitter after the image of your company. And you definitely don’t want such a reaction from, say, payment or order form. To prevent this from ever happening, once the visual check of the form is done,  your form must undergo a battery of automated tests to check if everything works as it should under any circumstances and inputs.

WHY PERFORM AUTOMATED TESTING?

AUTOMATED WEB TESTING SAVES TIME AND MONEY

Even though we should be willing to invest time and effort into writing automated test scripts, there's no reason to invest more than we have to. Actually,  because test automation in Python might seem at first like such a luxury, and people are therefore not willing to write automated test scripts, creating automated test suites for application testing should be considered as an investment and a risk prevention tool. And just after a few months into a project,  the costs of building automated test scripts are paid off not just by detecting hidden defects, but also by the fact that test scripts, once written, save a lot of testing time. It's so much easier to execute an already-written automated test script than to perform manually even a tiny bit of corresponding test cases, especially if they require a complicated set-up. Since web application testing will actually have to be performed a few times before the program finally works,  money spent on creating an automated test suite  (assuming that it's been written along with the code, or even earlier)  can be repaid before the application is even released. Also, a set of automated test scripts tends to have a longer lifespan than the source code. A program can be redesigned -- even re-written in another language -- and, assuming that it was meant to perform the same as before, the test suite will work just as well. Once the up-front costs of writing automated test scripts have been recouped, the pay-offs can pleasantly surprise you.

AUTOMATED WEB TESTING EXPANDS TESTING COVERAGE

Automated web testing increases the depth and scope of tests to help improve web application quality. Long and more complex application testing that is often avoided during manual testing can be performed with no human intervention. Automated web test scripts, written in Python each time can easily run thousands of different complex test cases providing unimaginable coverage that could take years with manual testing. Testers freed from repetitive manual tests have more time to create new automated test scripts and deal with more complex features.

Furthermore, even the largest QA team cannot simulate even a hundred users simultaneously browsing the website. Automated testing with Python as major scripting language can recreate tens, hundreds or thousands of viewers interacting with network or web services and applications, thus boosting the quality of an application.

WEB TEST AUTOMATION WITH QUINTAGROUP

Quintagroup Quality Engineers are well-versed in both commercial and open source test automation tools.  We strongly believe that Python web application development is incomplete without thorough automated testing to ensure a sound platform for future reliability. That is why we implement data and keyword-driven automated test scripts, written in Python using a robust Robot framework, Selenium, and OpenCV.

Test Automation Tools

Robot Framework is a next-generation test automation framework that leverages the power of open and extensible architecture, designed for acceptance testing and acceptance test-driven development (ATDD). For maximum coverage, our team uses it together with SeleniumLibrary —a Robot Framework test library that uses the Selenium web testing tool internally.

To provide cross-browser testing, Selenium  is used with

  • Selenium IDE for  scripting quick bug reproduction tests and automated exploratory testing
  • Selenium WebDriver to create complex  regression automation test scripts,  while driving the browser natively as a user would

OpenCV is widely used for real-time graphics processing. It allows performing a complete check of all the graphical content, including videos, motion graphics, 3D, etc.

py.test is a full-featured testing tool written in Python. This framework can be used for both simple unit and complex functional testing.

With the Xaut Python library, we are able to simulate keyboard and mouse use, as well as manipulate windows.

Test Automation Services

Our team of Python developers and Quality engineers armed with exceptionally powerful automation tools and more than 10 years of experience  can provide you with a star-quality performance of your web applications and services by selecting:

  • Automation testing  of web applications
  • Automated testing framework development
  • Automated cross-browser testing
  • Automation testing  of web services
  • Automated acceptance testing to ensure the correct performance
  • GUI Test Automation

So, invest now to gain all the benefits that come with automated web testing for Plone or contact us to learn more about how we can help you promote and secure your business.

Connect with our experts Let's talk