How I Mass Refactored Our Production Codebase Without Fear

Опубликовано: 28 Сентябрь 2024
на канале: QuanticDev
518
22

I recently mass refactored our production codebase at work. And I did so without the fear of breaking things. Why did I not fear breaking our quite sophisticated enterprise product? You will discover in this video. This video is a part of my monthly engineering stories series.

Let me give you some hints. It was a full-stack refactor, meaning it involved the client codebase, the DevOps code and the test code refactor. The refactor went on for several months, and I didn't do any manual testing of our product during or after the refactor was finished. In this video, you will learn about how huge refactors are done in large enterprises in the production code. You will also learn what tools and technologies we depend on while doing major code changes.

Outline of this video:
* 0:00 - Overview
* 0:47 - What Did I Do?
* 1:45 - Why Was I So Confident?
* 2:21 - What is Automated Testing?
* 3:10 - Device Farms and Test Labs
* 5:08 - Conclusion

My "Software Quality Assurance" video, where I describe how software companies test their products, starting with unit tests to end-to-end testing (accepting testing) level:
*    • Software Quality Assurance - How Do S...  

My "Method Chaining is Awesome" video, which draws inspiration from some of the refactors that I did, which is the subject of this video:
*    • Method Chaining is Awesome  

You can find the article version of this video at:
* https://quanticdev.com/articles/how-i...

Appium, which I recommend for automated desktop/mobile testing with a singular codebase:
* https://github.com/appium/appium

Remote (manual) mobile device testing software:
* https://github.com/openstf/stf

My "Software Engineering" Playlist:
*    • Software Engineering  

- - - - - - - - - - -
  / quanticdev  
  / quantic_dev  
https://quanticdev.com

- - - - - - - - - - -
Abstract:
* Real-device testing using device farms is essential for sensitive products.
* Refactors on production codebases can be done reliably when you depend on automated testing.
* Automated testing enables you to modify your codebase in the future with confidence, just like I did.
* You need unit testing, integration testing, and end-to-end testing (acceptance testing) for full coverage.
* You can use a device farm to do your end-to-end testing on real devices.
* You don't need to build your own; you can use 3rd party device farm providers.
* If you have any recommendations for device farm providers, leave a comment, and I'll check them out.
* I promised more stories from real-life engineering, so here we are. Sub and like if you want more.
* If you like this type of real-world stories, leave a like so I will know.