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 the 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 analyse 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 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 image of your company. And you definitely don’t want such 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 the 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  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 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 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 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 on how we can help you promote and secure  your business.