Many companies are faced with the need for change due to the coronavirus. Remote work and online meetings are becoming mainstream, and the way people work has changed. Under such circumstances, there is a growing need for digital tools that visualize and manage attendance and results.
TeamSpirit Inc. has a motto of “Empowering individuals and teams and take work style reform to the next level.” The company provides the cloud platform “TeamSpirit” which unifies administrative work such as attendance management and work-hour management.
TeamSprit has been introduced to over 1,300 companies so far. Mr. Ryusei Namai is the Scrum Master of TeamSpirit’s QA team. We interviewed him about challenges related to test automation that the team faces, the process of introducing Autify, and the results.
— Please give us an overview of what TeamSpirit is.
Ryusei: TeamSpirit is a product that unifies business applications that employees use every day. This includes attendance management, expense settlement, and work-hour management. Our service visualizes work styles by allowing business owners to manage work hours and tasks being performed each day. It’s a platform that revolutionizes work styles.
— I imagine there’s a growing need for a service like this. Has this been the case?
Ryusei: Yes. Until now, I think timecards have been used for time management, but with TeamSpirit, you can enter what time you started and ended work and manage it on the cloud.
With the conventional method, managers would recognize that a certain staff had a lot of overtime at the end of the month. TeamSpirit allows everyone to check the data on the cloud at any time, so attendance and work-hour management can be done proactively.
— I remember using a timecard at the first job that I had.
Ryusei: I used to work as a system integrator in a different company and we used to manage work hours and attendance using Excel. Sometimes at the end of the month, my boss used to tell me that I worked too many hours so I should be more careful next month. I thought they could communicate this with me earlier. I wished for a tool like TeamSpirit, and that’s exactly why I joined this company.
— You decided to join the company because you were drawn to the product. What kind of work does TeamSpirit’s QA team do?
Ryusei: For QA (Quality Assurance), I have the role of test analyst and test manager, but since I’m certified as a Scrum Master, I perform quality control as a team while developing as a Scrum.
— It’s great that QA uses Scrum. Do you check the quality from the early stages of development?
Ryusei: Yes. If the QA team is involved with development, it tends to feel like testing is all left to the QA team, but when there is Scrum in QA, there’s a common understanding that quality is everyone’s responsibility. It allows us to make the most of each person’s strength.
— You have introduced Autify recently. What kind of problems were you facing before?
Kenji: There were mainly three issues.
The first issue was that a broad range of skillset is needed when performing automated E2E (end to end) testing. Secondly, once we are beyond the point where we need a wide range of skillsets, things tend to become specialized. Thirdly, QA engineers’ job isn’t just testing, so it’s difficult to devote resources to automated testing.
The first point that we need a wide range of skillsets, means that first, we need to set up a CI (Continuous Integration) server and use Jenkins for job management in order to perform regression in the first place.
Then, when we perform a cross-browser test, we have to discuss whether to integrate with BrowserStack or maintain the browser driver. In addition, we will need to write a test automation program, so we’d have to determine whether to use Java or JavaScript.
As you can see, if someone isn’t a QA expert and isn’t familiar with coding, all this is rather difficult.
In my case, I worked with backend engineers. Then, the challenge is that only you and your backend engineers can write code. Eventually, there will be many quality control tasks other than testing, such as performance testing and security version upgrades. Eventually, it became too much to handle by ourselves.
— Faced by all these issues, how did you come to know of Autify?
Ryusei: I had heard that Autify was gaining popularity as a test automation tool. I also heard a lecture about “AI-based test automation” at last year’s JaSST (JaSST’19: Japan Symposium on Software Testing). I was drawn to the novelty of automated testing using AI.
— You actually tried Autify, didn’t you? Can you tell me about the process of introducing it to your team?
Ryusei: First, I thought about how we can overcome challenges. Since the automated testing was configured so that only certain staff could write it, I decided that the first change would be to make it so that any frontend engineer could write it.
We conducted a technical survey to switch to JavaScript’s E2E framework. We investigated things like the difficulty of installation, the ease of error investigation, what kind of configuration it would look like when cross-browser tests are performed, and what kind of usage can be expected when we expand functions in the future. We evaluated various items using a three-point scale: ○, ×, △.
Originally, we were talking about wanting an automated testing framework that can be used in collaboration with everyone on the frontend. People liked Autify because it can handle both frontend and backend, as well as QA. It could even be written by the product manager. I think that was the key for introducing Autify.
— I see. In the end, the fact that anyone can use Autify was the deciding factor.
Ryusei: Yes. Once we were confident that Autify can handle the issues we were facing, we started discussing what would be possible if we were to use Autify, with the assumption that we would introduce it. Things weren’t working out as is, so we decided to change things up completely and write an automated test with the whole team.
— Did you redesign the workflow when you introduced Autify?
Ryusei: Yes. We considered the team structure and workflow. With Scrum, it’s important to continually move in the right direction. The current process may not be correct, and I always think about changing the process.
— The reason you can take ownership and make decisions is because you’re acting as a Scrum Master. What changed when you introduced Autify?
Ryusei: Among the three issues, a need for a broad range of skillsets, the tendency to become individualized, and that automated testing is not the only job of QA, I think the first two issues were solved.
In fact, I was impressed by how convenient Autify was. This platform alone can do many things.
It’s easy to learn as well. We used the schedule function for regression execution and we could create scenarios by operating the browser. Until then, we needed a wide range of skillsets but now, all we have to do is learn how to use Autify. It’s also beginning to solve the problem of specialization. Creating a scenario is important for server maintenance and support. With Autify, the task has become very simple.
<strong— TeamSpirit is an app that uses Salesforce. Did you face any unique challenges in test automation?
Ryusei: It’s actually difficult to test an application on Salesforce using the E2E testing framework. For example, when I tried using “Cypress”, I could not use it at all. There was a security error because the Salesforce domain and the inside domain are different.
Also, we had to modify the CSS selector in order to deal with the problem that each update results in an id change, and the element cannot be extracted. It’s difficult to give advice such as “check the HTML structure in the source code” or “this type of CSS selector makes it easier to extract the element” to someone who usually does the tests each time they encounter these problems. Working on eliminating specialization at the same time was very difficult.
In that respect, Autify allows you to flexibly track changes in id and the UI is designed so that we can make decisions intuitively. There’s less instances where we have to devise ingenious solutions.
– What kind of effects have there been after introducing Autify?
Ryusei: I think there was a huge change by restructuring when we introduced it. Before, there was only one person, or with the backend it was two people. Now, the whole team is involved.
For example, while I’m working on the overall test design, another person would be working on scenario creation and test design. The other person is in charge of creating a scenario for a different part. The speed is completely different if you start with three people instead of one, and you can comprehensively test and improve the quality of the whole service.
Also, even if different engineers worked on the trial introduction and the actual introduction, it would go smoothly. In that sense, I think it was easy to master how to use Autify.
When we were writing in Java, the other two members had no experience of automation, but now that we’ve introduced Autify, they could get involved too. I think that’s a huge advantage.
– You used to be responsible from test design to implementation, but now you’re able to delegate and work efficiently. The way we work is changing, isn’t it?
Ryusei: These days, there’s an increase in remote work, and I think the way people work will keep changing. Being able to work regardless of physical distance or time, I think there will be opportunities for taking on side jobs.
For example, if someone who can use Autify joins a business as a side job and teaches other members, it would be more efficient than learning how to use Autify and teaching it yourself. I think it would be great if people thought of being able to use Autify as an asset in itself.
We at TeamSpirit think it’s important to re-think attendance management from “hours of work” to “what has been worked on” and “results.” It’ll be interesting to see how companies evaluate people as the way we work changes. I’d like to make sure that the service itself keeps up with these changes.
– What are you aiming for in the future?
Ryusei: There are various test automation tools out there, other than Autify. So I’m hoping to balance API testing, unit testing, and UI testing.
Also, there are some tests that I want to leave to API testing but it’s difficult due to the structure of the data. I’m excited to see whether I can delegate those to Autify. It’s great that there are still many other features that might be useful for us.
– Finally, what would you like to tell people who are working on test automation?
Ryusei: In the QA area, we talk about manual testing and automated testing as if they are completely separate entities. I personally think they are both in the same functional testing domain.
There are many other tests other than functional testing that we must do within the realm of QA. This includes performance tests, load tests, security, and usability, etc.
This is the third challenge that we are facing but there is so much that QA engineers have to do so I think it’s necessary to delegate tasks that can be delegated so that we can focus on tasks that only we can do. There are many people who think automation is complicated and scary but Autify is a tool that makes it easy. I hope more people will utilize the tool and focus on improving overall quality.
If you agree that we should improve the quality of testing using tools like Autify, we at TeamSpirit want to hear from you!
– Thank you very much. I hear you are recruiting new members.
Autify’s mission is to cut down on tasks that people have to do, so that people can focus on essential parts. We will continue to improve and develop to provide a better service.