During the event, you mentioned that good test automation requires both types of testing - API and UI! Most of the participants agreed that "In API testing we have to check the major thing which can be called as white-box testing" and "UI testing, either manual or automated, is testing the presentation layers to make sure the end user experience matches expectations and meets functional requirements".
One of the biggest benefits of doing API testing is that these tests can be executed before the tested application is fully built. This allows finding issues at the development stage!
At the same time, "API testing requires data to be used from one API call response to the following request, data comparison as part of verification". In SmartBear, we like to hear that ReadyAPI helps you a lot with generating such data!
The event participants described the importance of UI testing like this - "UI Testing plays a crucial role to Interaction & Customer friendliness". Customers will appreciate an interactive high-quality user interface of the application they use.
Ideal Testing Process
API and UI testing processes look very similar. You named the following major steps of the process:
"1) Test Requirement Analysis; 2) Test Plan/Strategy 3) Test Design; 4) Traceability Matrix; 5) Bug Tracking". However, you mentioned that the testing process may vary depending on the team, test requirements, the app, etc.
Important Skills for Software Engineers
Event contributors agreed that to do API testing or UI testing each software engineer should understand basic principles of how API works or how software applications work. However, learning script languages and taking testing courses will significantly help your career grow. For API testing, the participants suggested learning the basics of Java, Python or Groovy. As for the learning courses, SmartBear provides a lot of great ones - choose the one you need at the moment.
One of the most important skills each tester should work on is communication. Communication with your team, developers of the app you test, as well as communication with peers. That's what the SmartBear Community is here for. We are happy that you enjoy being with us 🙂
You mentioned that communication with developers is the toughest skill - "It's always important to be tactful as those same bugs might proof (or feel like proof) that the developers did a lousy job". And, everybody should understand that developers and testers think differently: "developers mindset: "How to make this work" - testers mindset: "How to break this!".
Software Testing vs. Development
At the same time, you said that "Software testing is harder than development". You need to have the knowledge in many different areas; testers have more responsibilities as customers may face the issues they haven't found. I'm sure developers can argue with this statement 🙂
What Testing Is
I am glad to see that all of you love doing software testing! Here are only several quotes of how you describe testing:
"As I find defect after defect I feel like and get boost to fly."
"Writing up test plans and test cases are just the preparations for the journey. Like doing all the research and prep work for climbing Mt. Everest."
"I love finding bugs in software. It's a hunt, a safari."
I'd like to finish the API Testing vs. UI Testing event with this quote: "put your heart into anything you do, then anything becomes fun and enjoyable!" 🙂 I hope you enjoyed the competition. As usual, feel free to leave comments/suggestions/ideas about this and future events.