"API testing with Runscope" from Alyona Kiryushina
Summary of slides:
1. Client-server architecture for mobile apps.
2. What is API testing? It`s purpose
3. Best Practices for API testing
4. Tools for API testing (some common info aboutSoap UI, Postman, Runscope )
5. Runscope in examples
Abilities: destruction aura.( +5 to ability to break things). *That works with apps . **Yes, I can break your app ***Can be neutralized only with skilled dev`s aura ****When you see that facial expression - better run
logic Ὂ Specifies how software components should interact Ὂ often come in the form of a library that includes specifications for routines, data structures, object classes, and variables.
time than GUI testing Ὂ Testing process starts much earlier (that helps to find severe issues earlier) Ὂ Language-independency (because all data transfer into xml or json) Ὂ Helps to create testing data for further GUI testing Ὂ Stable API means stable ui autotesting
determine precisely what is being tested and how these tests should be conducted Organize Excellent organization will save time, increase productivity, and influence the maintenance of the tests Prioritize Avoid testing cases that are likely to cause crashing for instance. Although tackling these first is fairly typical, it isn’t the best way to prioritize testing efforts. Development source code should be based on the given style guideline. If one isn’t yet developed, work to create this guideline immediately. Configure Keep all various test information, such as stress tests and BVTs, in the same source file. Then, a configuration setting should be utilized to pinpoint desired tests. Validate Presume at the beginning of each test that it doesn’t make the grade. Utilize testing to prove this assumption accurate or not. ✔
method or operation accepts correct input and rejects incorrect input.. Testing of methods and operations check whether the method or operations performs its intended action correctly. Test scenarios when individual methods or operations have been tested successfully, method calls can be strung together to emulate business processes
an error Ὂ Optional fields are accepted as expected Ὂ Filling fields with incorrect data types (for example, putting a text value into an integer field) results in an error
correctly when calling operation / method Y with parameters A, B and C? Ὂ Does calling a getter method retrieve the correct information? Ὂ Is data stored correctly for future use when calling a setter method?
developed Ὂ The component features depends on some functionality that is not ready yet Ὂ The component is shared with other teams and therefore cannot be freely used
are allowed to use it and inaccessible to those without the correct permissions Non-functional API testing Performance testing Check if the response times are acceptable, even under a high load?
creating tests. Ὂ Easy to start: there is no code to write for standard assertions Ὂ You can write more complex assertions using Javascript. Ὂ Has opportunity to use local agent for testing API`s beyond firewalls Ὂ Test steps can be linked together with variables allowing you to use it as a parameter for the next request.
use default assertions to perform smoke testing of your API Scheduling Make an individual schedule for each of your tests- from every minute to once a day Integration Can be integrated with hugh amount of different services Team work Invite your team and work on creating new scenarios together Comparison Compare your JSON request with response results to understand what exactly went wrong Documentation You can find answers to almost all of your questions usimg runscope guidelines and FAQ ☑
than 1s Ὂ Find 4xx and 5xx Status Codes in your API traffic Ὂ See which requests aren't able to connect, and discover the problematic endpoints Ὂ Or Monitor your live API traffic with OWN rules on Request and Response data Set up Notifications for every 1st, 10th, 100th, and 1,000th Alert match. You can:
to handle error conditions gracefully Ὂ Incorrect handling of valid argument values Ὂ Not implemented errors Ὂ Bugs in data models Ὂ Missing or duplicate functionality Ὂ Inconsistent error handling