GUI, Performance, Load and API testing with Test Studio By Varvara Menta
Test automation • In software testing, test automation is the use of special software to control the execution of tests and the comparison of actual outcomes with predicted outcomes. • Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. • Test automation is critical for continuous delivery and continuous testing.
Test automation
What is GUI Testing? • GUI testing is the process of testing the system's Graphical User Interface of the Application Under Test. GUI testing involves checking the screens with the controls like menus, buttons, icons, and all types of bars - toolbar, menu bar, dialog boxes and windows, etc. • GUI is what user sees. Say if you visit google.com what you will see is the GUI (graphical user interface) of the site. A user does not see the source code. The interface is visible to the user. Especially the focus is on the design structure, images that they are working properly or not. • In above example, if we have to do GUI testing we first check that the image should be completely visible in different browsers. • Also, the links are available, and the button should work when clicked. • Also, if the user resizes the screen, neither images nor content should shrink or crop or overlap.
Need of GUI Testing Now the basic concept of GUI testing is clear. The few questions that will strike in your mind will be • Why do GUI testing? • Is it really needed? • Does testing of functionally and logic of Application is not more than enough??Then why to waste time on UI testing.
What do you Check in GUI Testing? The following checklist will ensure detailed GUI Testing. • Check all the GUI elements for size, position, width, length and acceptance of characters or numbers. For instance, you must be able to provide inputs to the input fields. • Check you can execute the intended functionality of the application using the GUI • Check Error Messages are displayed correctly • Check for Clear demarcation of different sections on screen • Check Font used in application is readable • Check the alignment of the text is proper • Check the Color of the font and warning messages is aesthetically pleasing • Check that the images have good clarity • Check that the images are properly aligned • Check the positioning of GUI elements for different screen resolution.
Challenges in GUI Testing • The most common problem comes while doing Regression Testing is that the application GUI changes frequently. It is very difficult to test and identify whether it is an issue or enhancement. The problem manifests when you don't have any documents regarding GUI changes. • Success of a software product immensely depends on how the GUI interacts with the user and ease in using its various features. Hence, GUI testing is very important. Manual GUI testing can sometimes be repetitive and boring and hence error prone. Automation is highly recommended for GUI testing.
What is Performance Testing? • Performance testing is the general name for tests that check how the system behaves and performs. Performance testing examines responsiveness, stability, scalability, reliability, speed and resource usage of your software and infrastructure. Different types of performance tests provide you with different data. • Before performance testing, it’s important to determine your system’s business goals, so you can tell if your system behaves satisfactorily or not according to your customers’ needs. • After running performance tests, you can analyze different KPIs (Key Performance Indicators), such as the number of virtual users, hits per second, errors per second, response time, latency and bytes per second (throughput), as well as the correlations between them. Through the reports you can identify bottlenecks, bugs and errors, an decide what needs to be done.
What is Load Testing? • Load testing is testing that checks how systems function under a heavy number of concurrent virtual users performing transactions over a certain period of time. Or in other words, how systems handle heavy load volumes. There are a few types of open-source load testing tools, with JMeter being the most popular one. • When you want to determine how many users your system can handle. You can determine different user scenarios that let you focus on different parts of your system, like the checkout webpage on your website or app for web load testing. • Basically, load testing is something you should do all the time, to ensure your system is always on point. That’s why it should be integrated into your Continuous Integration cycles.
What is API testing? • API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. • Since APIs lack a GUI, API testing is performed at the message layer. • API testing is now considered critical for automating testing because APIs now serve as the primary interface to application logic and because GUI tests are difficult to maintain with the short release cycles and frequent changes commonly used with Agile software development.
Test Automation tools comparison Web Testing Tools Web Browser Scripting Language eggPlant Functional Yes (IE, Firefox, Safari, Opera, Chrome) SenseTalk Macros Yes (Firefox, Chrome, IE) iMacro Script QF-Test Yes (IE, Firefox) visual scripting, Jython, Groovy Ranorex Studio Yes (Chrome, Firefox, Safari, IE) C#, VB.NET Sahi Yes (IE, Firefox, Chrome, Safari, Opera and any modern browser) Sahi Script Selenium Yes (IE, Firefox, Chrome, Safari, Opera, Edge) Ruby, Java, NodeJS, PHP, Perl, Python, C#, Groovy SOAtest Yes Python, JavaScript, Java TestComplete Yes (IE, Firefox, Chrome) VBScript, JScript, C++Script, C#Script, DelphiScript Test Studio Yes (Chrome, Firefox, Safari, IE) C#, VB.NET Tricentis Tosca Yes (Chrome, Firefox, IE, Edge) C#, VB.Net WatiN Yes (IE, Firefox) C#, ability to run JavaScript from C# calls Watir Yes (IE, Firefox, Chrome, Safari, Opera, Edge) Ruby
Test Studio Overview • Test Studio is an easy-to-use automated web, WPF and load testing solution. Test Studio tests support essential technologies like ASP.NET AJAX, Silverlight, PHP and MVC. • Test Studio functional testing is a comprehensive yet cost-effective automated testing suite. Users can complete tasks quickly and easily with the product’s point-and-click interface, which is augmented by Telerik-exclusive features like a visual storyboard and 3D element selection. • Test Studio load tests allow users to capture quickly capture, multiply and replay complex web traffic. Record HTTP traffic from desktop browsers, mobile devices and web services, and replay traffic with hundreds or thousands of virtual users spread across multiple machines. Fine-tune your load scenario with data binding, user authentication, and dynamic targets. • Test Studio Mobile is an intuitive and easy to use test automation solution for Mobile application testing. Create tests once and test across multiple devices and OS’s. The point and click functionality allows users to capture quickly and replay complex mobile testing functionality. There is no need to write a single line of code. Test against any number of real devices as you wish or through an emulator by connecting through Wifi. • Test Studio for APIs helps customers verify the integrity and reliability of their APIs in an easy way and incorporate their API testing effort in their continuous testing and delivery process. Test Studio for APIs is used to determine whether APIs return the correct response for a broad range of commonly accepted requests, react properly to edge cases such as failures and unexpected inputs, as well as deliver the responses in an acceptable amount of time.
Installation • Go to https://www.telerik.com/teststudio • Download the trial • https://www.telerik.com/download-trial-file/v2/test- studio-ultimate • Extensions to browsers
Run test cases
Run test cases
Run test cases
Pros • Installation and set up is a very easy process • Clear and detailed documentation • 24h support • Complete solution that has almost everything you need • Changes of GUI can easily be handled on the whole of test cases.
Cons • Issues like memory leaks, email not sent etc • Recording is not always working correctly • Different steps for each browser • Not recommended for big projects • Price
Thank you!

GUI, Performance, Load and API testing with Test Studio

  • 1.
    GUI, Performance, Load andAPI testing with Test Studio By Varvara Menta
  • 2.
    Test automation • Insoftware testing, test automation is the use of special software to control the execution of tests and the comparison of actual outcomes with predicted outcomes. • Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. • Test automation is critical for continuous delivery and continuous testing.
  • 3.
  • 4.
    What is GUITesting? • GUI testing is the process of testing the system's Graphical User Interface of the Application Under Test. GUI testing involves checking the screens with the controls like menus, buttons, icons, and all types of bars - toolbar, menu bar, dialog boxes and windows, etc. • GUI is what user sees. Say if you visit google.com what you will see is the GUI (graphical user interface) of the site. A user does not see the source code. The interface is visible to the user. Especially the focus is on the design structure, images that they are working properly or not. • In above example, if we have to do GUI testing we first check that the image should be completely visible in different browsers. • Also, the links are available, and the button should work when clicked. • Also, if the user resizes the screen, neither images nor content should shrink or crop or overlap.
  • 5.
    Need of GUITesting Now the basic concept of GUI testing is clear. The few questions that will strike in your mind will be • Why do GUI testing? • Is it really needed? • Does testing of functionally and logic of Application is not more than enough??Then why to waste time on UI testing.
  • 6.
    What do youCheck in GUI Testing? The following checklist will ensure detailed GUI Testing. • Check all the GUI elements for size, position, width, length and acceptance of characters or numbers. For instance, you must be able to provide inputs to the input fields. • Check you can execute the intended functionality of the application using the GUI • Check Error Messages are displayed correctly • Check for Clear demarcation of different sections on screen • Check Font used in application is readable • Check the alignment of the text is proper • Check the Color of the font and warning messages is aesthetically pleasing • Check that the images have good clarity • Check that the images are properly aligned • Check the positioning of GUI elements for different screen resolution.
  • 7.
    Challenges in GUITesting • The most common problem comes while doing Regression Testing is that the application GUI changes frequently. It is very difficult to test and identify whether it is an issue or enhancement. The problem manifests when you don't have any documents regarding GUI changes. • Success of a software product immensely depends on how the GUI interacts with the user and ease in using its various features. Hence, GUI testing is very important. Manual GUI testing can sometimes be repetitive and boring and hence error prone. Automation is highly recommended for GUI testing.
  • 8.
    What is Performance Testing? •Performance testing is the general name for tests that check how the system behaves and performs. Performance testing examines responsiveness, stability, scalability, reliability, speed and resource usage of your software and infrastructure. Different types of performance tests provide you with different data. • Before performance testing, it’s important to determine your system’s business goals, so you can tell if your system behaves satisfactorily or not according to your customers’ needs. • After running performance tests, you can analyze different KPIs (Key Performance Indicators), such as the number of virtual users, hits per second, errors per second, response time, latency and bytes per second (throughput), as well as the correlations between them. Through the reports you can identify bottlenecks, bugs and errors, an decide what needs to be done.
  • 9.
    What is LoadTesting? • Load testing is testing that checks how systems function under a heavy number of concurrent virtual users performing transactions over a certain period of time. Or in other words, how systems handle heavy load volumes. There are a few types of open-source load testing tools, with JMeter being the most popular one. • When you want to determine how many users your system can handle. You can determine different user scenarios that let you focus on different parts of your system, like the checkout webpage on your website or app for web load testing. • Basically, load testing is something you should do all the time, to ensure your system is always on point. That’s why it should be integrated into your Continuous Integration cycles.
  • 10.
    What is APItesting? • API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. • Since APIs lack a GUI, API testing is performed at the message layer. • API testing is now considered critical for automating testing because APIs now serve as the primary interface to application logic and because GUI tests are difficult to maintain with the short release cycles and frequent changes commonly used with Agile software development.
  • 11.
    Test Automation toolscomparison Web Testing Tools Web Browser Scripting Language eggPlant Functional Yes (IE, Firefox, Safari, Opera, Chrome) SenseTalk Macros Yes (Firefox, Chrome, IE) iMacro Script QF-Test Yes (IE, Firefox) visual scripting, Jython, Groovy Ranorex Studio Yes (Chrome, Firefox, Safari, IE) C#, VB.NET Sahi Yes (IE, Firefox, Chrome, Safari, Opera and any modern browser) Sahi Script Selenium Yes (IE, Firefox, Chrome, Safari, Opera, Edge) Ruby, Java, NodeJS, PHP, Perl, Python, C#, Groovy SOAtest Yes Python, JavaScript, Java TestComplete Yes (IE, Firefox, Chrome) VBScript, JScript, C++Script, C#Script, DelphiScript Test Studio Yes (Chrome, Firefox, Safari, IE) C#, VB.NET Tricentis Tosca Yes (Chrome, Firefox, IE, Edge) C#, VB.Net WatiN Yes (IE, Firefox) C#, ability to run JavaScript from C# calls Watir Yes (IE, Firefox, Chrome, Safari, Opera, Edge) Ruby
  • 12.
    Test Studio Overview •Test Studio is an easy-to-use automated web, WPF and load testing solution. Test Studio tests support essential technologies like ASP.NET AJAX, Silverlight, PHP and MVC. • Test Studio functional testing is a comprehensive yet cost-effective automated testing suite. Users can complete tasks quickly and easily with the product’s point-and-click interface, which is augmented by Telerik-exclusive features like a visual storyboard and 3D element selection. • Test Studio load tests allow users to capture quickly capture, multiply and replay complex web traffic. Record HTTP traffic from desktop browsers, mobile devices and web services, and replay traffic with hundreds or thousands of virtual users spread across multiple machines. Fine-tune your load scenario with data binding, user authentication, and dynamic targets. • Test Studio Mobile is an intuitive and easy to use test automation solution for Mobile application testing. Create tests once and test across multiple devices and OS’s. The point and click functionality allows users to capture quickly and replay complex mobile testing functionality. There is no need to write a single line of code. Test against any number of real devices as you wish or through an emulator by connecting through Wifi. • Test Studio for APIs helps customers verify the integrity and reliability of their APIs in an easy way and incorporate their API testing effort in their continuous testing and delivery process. Test Studio for APIs is used to determine whether APIs return the correct response for a broad range of commonly accepted requests, react properly to edge cases such as failures and unexpected inputs, as well as deliver the responses in an acceptable amount of time.
  • 13.
    Installation • Go tohttps://www.telerik.com/teststudio • Download the trial • https://www.telerik.com/download-trial-file/v2/test- studio-ultimate • Extensions to browsers
  • 14.
  • 15.
  • 16.
  • 17.
    Pros • Installation andset up is a very easy process • Clear and detailed documentation • 24h support • Complete solution that has almost everything you need • Changes of GUI can easily be handled on the whole of test cases.
  • 18.
    Cons • Issues likememory leaks, email not sent etc • Recording is not always working correctly • Different steps for each browser • Not recommended for big projects • Price
  • 19.