Forum Discussion

TanyaYatskovska's avatar
TanyaYatskovska
SmartBear Alumni (Retired)
6 years ago

[Day 2/5] APIvsUI - Define what API testing / UI testing Is

Hi Team,

 

What a great start of the event! I’m so excited to see all the participants.

At the moment, the API and UI Teams have the same number of points! Let’s see if the situation changes today.

>> Track the current score

 

Day 2 Task:

Define what API testing / UI testing is.

 

Here are just several things that you can cover in your answer:

Why is it important to test?

What are the major elements of the testing process?

Is automation a “must-have” nowadays?

 

 

Also, don’t forget about bonus tasks to earn more points!

 

We are looking forward to reading your comments here :)

 

Spoiler

Bonus Tasks

Accomplish any of the bonus tasks to earn more points:

  1. +2 points - Invite your colleague to the competition.

Mention a nickname of this person by using @ in the competition’s daily topics. You can invite as many people as you wish. NOTE: A person you invite should be a new Community member registered after the event start.

 

  1. +2 points – Make a post on social media about your participation in the competition.

Your post should contain: @SmartBear, the #APIvsUITesting hashtag and the link to your comment in the Community.

Simple tweet: API Testing vs UI testing! Which one is more important? Join me in the @SmartBear Community to talk about this: https://bit.ly/2HEZ5U4 #APIvsUITesting

 

Event Rules

  1. Leave your comments on a conversation of the day. 1 comment = 1 point to the team score.
  2. The competition will be held on March 25-29.
  3. Join the competition any day and participate in any daily conversations.
  4. Feel free to leave comments for any teams.
  5. Rewards! A team with the biggest score will win. Active participants from each team will be rewarded.

 

Participate in all conversations – find them using the #APIvsUI tag.

  • Vallalarasu_P's avatar
    Vallalarasu_P
    Frequent Contributor

    Why is it important to test?

    Every User of your application is a revenue generator for your business. To make your Business sucess, you need to Ensure Quality. To Ensure Quality, You need to test.

     

    What are the major elements of the testing process?

    From the Requirement Analysis till the Release of the product. Everything needs quality check and testing process.

     

    The Major elements of Testing process is RCA and Continuous improvement.

     

    Is automation a “must-have” nowadays?

    Yes. The need for freqent Quality check of your application/Product/Business is required to hold the customers.

    Automation ensure quality of your product/Project on a daily basis.

     

    Regards

    Valla

  • UI testing - It defines itself "user interface".  Test through the user interface, both as a user would and extended test cases for edges, etc.  I would say figure out cases that the users will never think of, but users are sneaky and find ways to use the software that surprise us every time!

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    I am a UI test automator and, believe me, I want my "team" to win this little head to head thing.  But I want to say that I think good test automation requires both aspects of testing.  UI Testing is all about interacting with the application as a real human being would.  After all, it IS real humans who are going to use the software or the outputs of the software at some point in time so it is vitally important that test automation exercises those parts of the software.  UI incorporates end-to-end scenarios, UI validation, data-output through some grey-box testing, negative test scenarios, and report validations.  

     

    Not everything that UI testing does SHOULD be automated.  I'm convinced that some things like component alignment, color, etc., are things that can be more easily validated with a quick test.  Also, UI automation I don't think should be the first line of defense.  I think there is something to be said about the art and effort of good, competent manual testers incorporating techniques of exploratory testing, well documented boundary tests, etc., before the automation comes in.  UI Automation should be, I believe, used in two main scenarios.

    1) Continuous Integration processes requiring extensive regression testing each cycle. As a piece of software grows, the list of required regression tests also grows.  Eventually, you get to a point where there is not enough time to test new features AND regress old ones.  Automation is NECESSARY to be able to continue to build and adapt software through automated regression.

    2) Some scenarios for testing are just way too involved for human testing.  There are so many moving parts, so many details, sometimes whole reams of data or sets of scenarios.  To manually test some of them is difficult to do with accuracy and completeness.  Automating such scenarios with loops and data-driven tests frees up manual testers to focus on the few cases that need that human touch.

     

    But, as I mention at the top, I do think API testing is vitally important as well where there are APIs to test.  These are the little moving engines of the application that don't have anything visible.  The UI is a harness on top of the API that sends the data in and reads the data out.  But the API itself can be tested fast and efficiently by itself in the necessary micro scenarios.  This allows those components to be specifically targeted without having to concern oneself with the specifics of whether or not the UI functions.  These are ALSO required pieces for good, long term test strategies.