Series: QA in Agile SDLC (#4)
(Remote) QA and application infrastructure!
Adopt DevOps/SRE skills being a QA!
This is the last article of the series, mainly focusing on infrastructure.
Many projects focus on getting on board with cloud infrastructure. Here, based on your expertise, you can contribute in certain ways and collaborate with infrastructure engineers / SREs (Site Reliability Engineers) better if they are present on the team.
Knowledge of server side performance, user load, geographical distribution of the users comes in handy while making decisions.
I had some takeaways from this experience. They are as follows :
- Automating infrastructure setup helps create a consistent environment every time a new one is needed… for instance… during testing. Tools like Terraform etc. come in handy to automate this.
- Choosing the correct instance types, storage size/ type, regions/availability zones will help make the application performant as well as be cost efficient. Performance testing comes in picture here.
- Setting up CDN (Content Delivery Network) , load balancer & auto scaling feature will make sure the application behaves reliably under heavy user load from any geographical location.
- From the perspective of enabling a team with better defence structure, being well versed with IAM (Identity and Access Management) roles, VPC (Virtual Private Cloud), Elastic/Static IPs (Internet Protocol Address) can come in handy. This will make sure that the perimeter of the application infrastructure is secure.
- Log monitoring helps with finding functional, security as well as infrastructure issues. Hence, if we know our thresholds well, setting up alerts accordingly can make sure our systems are available & reliable.
- Ensuring that we take automated backups of our databases and servers improves recovery time in case of a failure.
Lastly, I wanted to touch upon the need of the hour — Working remotely:
Having worked remotely for over 2 years now, I have realised how much I enjoy this style of working. The reason for me to like this mode is that it makes one efficient and have more of a work-life balance. One of the examples that I can share here is, not needing time to recuperate from the exhaustion of travel; instead getting time to spend with family, on your hobbies / physical and mental health.
Of utmost importance is making sure that the team is comfortable with the idea of remote working. The following points can help with building trust towards remote work :
- Keep your stories updated on Jira board , provide crisp updates in stand-ups , update availability plans in team chat/calendar.
- Making sure your daily routine is quite transparent/documented so that the team can understand how you plan your day’s test strategy.
Meeting your lovely colleagues every once in a while is refreshing for all!
I hope this series helps people understand what a role of QA encompasses. The more QA skills are leveraged earlier in the product development lifecycle, the better bets we have in delivering an intuitive, reliable, scalable and secure product.