QA Spotlight: AI’s Future, Testing Virtual Reality Apps and More

Francisco Castillo turns to the area of software quality to experiment with automation and artificial intelligence. Get to know this Nearsure talent who recently became the first Latin American Automation Engineer to obtain an Advanced Level Certification from ISTQB.

Where are you from and where do you live?

“I am from Costa Rica, living in Heredia currently, a small town close to the capital, San Jose. In Costa Rica, you are never far from the beach. I live about an hour away from the closest one. We are a tropical country, and very small; you can go from one side to the other very quickly.”

How did you get involved in software testing?

“I graduated from a university in Costa Rica, the Costa Rican Institute of Technology, which is known for being Costa Rica’s vanguard of technology and investigation.

Over the years, I’ve had many roles and experiences like technical support and senior developer. I found quality engineering interesting when I took a course on software quality and automation while obtaining my Master’s Degree. The part that sparked my interest was when we were learning how to simulate a load of users in testing. So I started to look for opportunities related to that seven to eight years ago and that’s when I got the opportunity to work in quality and automation.

In the area of software quality, we do testing on different levels; from the functional level to performance, (that’s where load testing comes in) also testing the functionality, testing the different pieces of the software with unit tests, and how they integrate with integration tests. I have experience with the whole gamut of testing, whether its manual or automated.”

What made you want to switch from being a developer to a quality engineer?

“I am still a developer, just focused on testing. What we do is make “bots” or automations. I like artificial intelligence, bots, automation, etc. and it was actually easier to work with those things in testing, as I have seen more demand in it. I got my ISTQB/ISQI certifications in quality, testing, Agile methodologies, Automation Engineering, and more. Currently, I am the first and only one Automation Engineer having an Advanced Level Certification from ISTQB, in Latin America.

I am also an independent researcher of Artificial Intelligence. I have my blog, in which I research different topics and show experiments there. I cover academic topics, formal theory, and it isn’t just dedicated to tech purely but from an academic viewpoint. I publish there every so often.”

What do you think are some of the biggest challenges teams face with test automation today?

“There are many challenges, one of the main ones is trying to make the automation have a positive return on investment. Automation projects can certainly have a positive ROI, but they have to be justified first on the business side. On the technical side, a challenge is making automations that actually simulate user actions, so you have to give the bots the intelligence to do so. With having bots do bulk testing, you can also reduce costs.”

What are some of your favorite software testing tools to use?

“Well, there are different groups of tools, for example, there are multiple generations of tools used for automation. Right now, the best positioned is the second generation of automation tools like Selenium, more than anything, for web testing. There are others for unit testing. Then there are others that I have used like third and fourth-gen tools, that are for automation for visual testing like Applitools and Sikuli. These tools have “eyes” for testing the UI, interacting with it, recognizing patterns visually. So I really like using those tools, they are very well positioned.”

What kind of applications have you tested?

“I have the most experience in testing web applications and mobile apps. I also have some experience testing apps with AI like chatbots.

As far as what industries I’ve worked in, I have vast experience testing banking systems, as well as systems from the academic world, having done stress and performance testing for an information system for academic institutions and AI solutions.”

What is your current project with Nearsure like?

“The project is for a wellness application. It has IoT elements involving medical assessments, so it includes profiles for its users with information about their health and nutrition. It can be used on several different devices, so it’s very well integrated.

It even uses virtual reality to provide users a pleasant, simulated beach relaxation experience to give them a peaceful space for improving their mental state.”

What would you say is the challenge of testing applications that use virtual reality?

“Virtual reality is an immensely open reality, therefore any VR app is a very open app. It’s like testing AI, it’s not always easy to have an expected, or a static result because from the beginning, there is no clear definition of what it is supposed to be. The app is always changing. So, it’s very difficult to design test cases, and you have to use various testing techniques that offer a range of tolerance, with varying expected results.”

What do you think AI means for the future of software testing?

“In reality, as I am pro-AI, I promote it. Despite AI could begin to replace us, partially, also it can bring us transcendent achievements in many human areas. Like with other industrial revolutions, humanity would need to gradually adapt to AI.

For the use of testing, it is very promising. Traditionally, we had to wait for the system to be ‘done’ to test it. With AI we can calculate the possibility of a failure before the system is done, so it can help to guide development.

It’s becoming increasingly important every time to automate more and more because projects move very fast in Agile. With each sprint, the product grows, so there will come a point when manual testing is not enough to sufficiently test the product. In one year, an app can grow so much, and to do a complete regression, you have to do more automation—you have to be able to calculate the risk of failure, so that’s when AI can help.

Another example is more extreme, but for humanity, I see great potential benefits of AI. One day it’s said that AI will be able to cure people of cancer. Some people respond to certain treatments, and others no. While patients try various treatment options, trying to find the right one, they sometimes pass away. A sufficiently developed AI will be able to analyze the cell mutation and detect which is the best treatment for each individual, rapidly. So, I see that it can save lives. It won’t replace us in tasks, but give us a capability that we don’t possess today and the tools to overcome important challenges that we face nowadays.”

Switching things up, can you tell me a little bit about your company?

“I work for NovaComp. We are fully based in Costa Rica and have worked with companies like IntelCognitiva Latam, among others. Recently, we’ve been expanding to work for companies in the US thanks to great partners like Nearsure.”

Do you have experience working for US companies?

“Yes, before working with Nova, I worked for Accenture for three or four years and I also worked for Excel here, where I did my first automation work. I was also at HP briefly, for about six months.”

What is it like working with distributed and multi-cultural teams?

“You have to learn how other cultures like to work and what are their values. When I worked for Intel, it was very valuable because it counts on people from all over the world like Germany, Korea. I learned a lot because when you are working with someone from India, China, Australia, etc. It’s part of the experience, you learn how to work together across different cultures and timezones.

Many times I share my culture with people, especially if I work with them for many years. I like to have people visit Costa Rica, show them the place, the food, the customs, so when they visit it’s nice and they can see our relaxed rhythm here. If they want to vacation here in Costa Rica, its very good for them, they can relax.”

Do you have any tips for working with multicultural, remote teams?

“Have a good attitude. Be collaborative, receptive, detail-oriented. Observe how people act, how they do things, which makes them work better. Be more animated, having consistent open communication to avoid misunderstandings and clashes.

Luckily when working in Agile, we have a common methodology and language. When it’s not like that, you have to find a way, by having a constructive attitude, always trying to build someone up, clarify things, etc. It’s basically pure communication and a good attitude. It’s imperative to collaborate and not be so competitive.”

Is there anything else the world should know about you?

“I feel that today to be a good tester, you have to be a Superman. You have to know AI, development, automation… You need to be a quality engineer with an understanding of psychology, economics, and even law because, as you may have seen with disruptive innovations, they break barriers and the status quo. For example, Uber caused many conflicts, so a person that handles testing has to anticipate the legal problems and social problems that that new technology can generate, so it’s like you have to be a Superman. I know that sounds a bit out of reach, but we have to aim towards that! We have to try to be the best we can be.”

Thanks for your time today Francisco!

“Thank you!”