The word of the day: DIP

edamame-dip-103044760_horiz

Ok, its not actually a word but an acronym.

In “The Dependency Inversion Principle” (or DIP), the author states the three defining factors of “bad code”:

  • It is hard to change because every change affects too many other parts of the system (Rigidity)
  • When you make a change, unexpected parts of the system break (Fragility)
  • It is hard to reuse in another application because it cannot be disentangled from the current application(Immobility)

Lessons Learned: Jenkins Server Management

jenkinscia

Many a times in test automation we rarely talk about the importance of goodie good Jenkins Server management.

I tell ya, I spent a week putting out fires! Im a little weird so I found it exhilarating :$ but it caused a lot of jobs not to be run, therefore proving lesser confidence in tests and applications <– terrible!

Here are some lessons learned :

  1. Expire and Clean up old builds – yes, check that box!
  2. Dont schedule jobs with unapproved scripts.
  3. Parallel runs … always parallel runs.
  4. Create a uniformed approach to building jobs.
  5. Create policies to guide and govern the above.
  6. Set  reminds to go back and clean out logs, files, builds etc.
  7. Always(Ok most of the time) run Jenkins in a Master/Salve config

Share some of your ideas below for me to learn off!

 

Visibility – Your tests have value, showcase them.

reports

Having automated tests are great! 🙂
But not sharing the results or centralizing them is not so great. 😦

Your automated tests have undeniable business value, don’t be shy about it. Excellence does not happen overnight. So even if your tests are in early development, share the results with your team.

So what can you do?

  • Setup a nightly run using some CI tool. I like Jenkins 😉
  • Promote the results by using a dashboard, email or a tool like slack.
  • Address failed tests daily. Fix them or add them to a backlog. Fix these soonest.
  • Prep a backlog of test automation scenarios that the entire team supports and can contribute towards.

Visibility and Reliability are really important. This makes them trust worthy,needed… valuable. Pursue it viciously.