CW15 learnings

Day to day I see more and more how fast technology is evolving. Things that were not possible 1 year ago are now supported by multiple solutions, things that you’d had only imagined reading sci-fi books are now at our fingertips. So how fast can we learn new things? how often do we have the opportunity to learn new things?

Here is the review of the previous week #cw15 and things that I’ve learned about or just refreshed:

  • thanks to MongoDB university I’ve learned a lot about MongoDB performance and just by pure accident at the same time I had a chance to observe and discuss a performance issue with one of our product where Angular frontend talks to the backend and then there is also MongoDB involved. Is the query slow? or maybe the backend? or maybe the frontend? #test_only_query #test_via_api #test_via_end_to_end I’ve enjoyed the discussion and I’m looking forward to next ones and the opportunity to test it deeper
  • talking about performance … for a long time first tool in the landscape of performance testing tools that came to my mind is #jmeter. I had a chance to attempt a dedicated training for it – although I’ve just refreshed things here there was one thing that I liked about being highlighted:
    “learn as much as possible about the setup of your test environment” especially:

    • what kind of network is between your ‘load generator’ host and tested one?
      • is it separated?
      • do you have “control” over it?
      • do you share it with the rest of corporate colleagues?
      • if so, is there a difference between running a test during office hours and outside them?
      • do you know the possible impact?

one way to learn these things is to run the simple JMeter test plan to “fetch” / download / whatsoever a small file and see how things are looking on the graph, are there obvious trends? are there outliners? are the answers to question: can you trust this setup and this environment enough to invest your time and efforts for more complicated scenarios?

  • TestOps – or more generally DevOps – we are still learning it … after weekend action to apply OS upgrades on dev env most of our test envs remained “down” – hosts have been rebooted – they came up – but then someone should restart things … or shall they came up on their own? how resilient are our products? do we expect OPS teams to handle such events on prod in the future? do they have the capacity to do that? … I’ve spent some time to bring one env to “life” … other remained “down” until Monday lunchtime … not good but not so bad either … what I’ve learned by this? if you are scheduling actions over the weekend maybe you should consider one more person that will cross-check after restarts that env is up-and-running (or will bring it to this state) instead of wasting peoples time Monday morning and their frustration about obstacles to do their job after quite a good weekend … remember it’s Monday morning … a lot of hours in front of them during this week
  • I’ve ended my week / started another with protractor training – creating test framework from scratch and doing e2e tests … for sure we need them but please … please discuss your tests with developers – you can learn a lot about coding and by chance, you can push those test to lower levels (api, unit, etc)
  • I would like to say a BIG THANK YOU to Julia Evans for her TREMENDOUS job with those drawings and zines – you need to follow her on #twitter if not done yet

Cheers!

Advertisements

docker search and corporate certs

I like working on the Linux ecosystem. I love the console and stuff I can do with shell scripts etc. I love it even more with docker – perfect stuff for quick evaluation of new tool or just newer version of beloved one – just do “docker search ” and then just pull or run the stuff of your choice.

Unfortunately, at work, I’m stuck on Windows and in addition, IT is doing ‘MitM’ cert mangling.

I could easily get rid of Windows just by installing VirtualBox and Linux inside it but then “docker search” hit “x509: certificate signed by unknown authority” error.

yikes!

ok then … but if I can access the page via the browser then it means that from console I should be able to do so, and maybe just docker doesn’t know which cert to use …

you can fix it by following these steps:


szekar@szekar-vb:~$ sudo mkdir -p /etc/docker/certs.d/docker.io:5000
szekar@szekar-vb:~$ ls -ltr /etc/docker/certs.d/docker.io\:5000/
total 0
szekar@szekar-vb:~$ sudo cp path_to_your_certs/* /etc/docker/certs.d/docker.io\:5000/
szekar@szekar-vb:~$ 

after these small adjustments:

szekar@szekar-vb:~$ docker search hello-world
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
hello-world Hello World! (an example of minimal Docker... 489 [OK]
...

szekar@szekar-vb:~$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
Status: Downloaded newer image for hello-world:latest

szekar@szekar-vb:~$ docker images |grep hello
hello-world latest f2a91732366c 4 months ago 1.85 kB
szekar@szekar-vb:~$

And now my Linux VM is even more useful.

Personal tech radar

After my last post about “Personal development plan …” when I was thinking about my options, from different sources I was remembered about tech radars: the official one https://www.thoughtworks.com/radar as well as those more private ones as the one created for my current project by lead architect. So I’ve tried it and created my personal one – mostly by ‘inner join’ from both radars, things needed in my company and things other companies are looking for.

In addition Packt came up with rescue and never ending free books (https://www.packtpub.com/packt/offers/free-learning), that can be claimed daily, that by coincidence overlap in some topics with my radar.

Upcoming days should be quite busy for me …

Personal development plan – what are your next steps?

March … it is the time of the year when in NFL you can verify your value as a player … free agency is ongoing which means that:

a) you are under contract and free agency is just the time period when you are having fun and looking what’s going on with others

b) you are ‘tagged’ by franchise – you are lucky (?) because you know you are appreciated by your bosses but on the other hand you were not able to convince them in time to sign long term contract that will move you up to the a) and you cannot do the c)

c) you are free agent that can check your value by testing free market and talking to other teams and negotiate with them your brand new deal with lots of $$$

d) there are still guys that belong to a) due to contracts they signed a couple years ago but due to big signings in b) & c) ‘in between’ they feel that they are on the wrong side of the top cashing guys

In IT then, there are still those yearly ‘performance’ talks, you can talk to your team lead what you achieved in the past year, what would you like to try in the upcoming one etc

Except the company goals that you may align to you should have your personal goals to move you further, to remain relevant, not only in your current environment but also just in case when you would like to test ‘free agency’.

There are already good readings about how to shape your career … but do they apply to you in 100% ? probably not … your context is the key …

my context?

I need more insights in test automation and DevOps … but what tool I should focus on? what programming language dive in?

it depends …

are you a player under long term contract (aka you love/like you company and what’s going there and you don’t plan to test free market) or you are ‘franchised’ (aka you are the lucky one to get quite nice salary and you are closed in the ‘golden armor’ and probably it will not be matched when you try something else …) or you are (heading to) free agency soon and want to be relevant there …

assess you position wisely and pick out your development areas even more wisely

check what’s going on in those areas within your ‘franchise’, check what’s going on the market, check what’s trending up in the IT …

it is not easy, it should not be a coin flip

I know I’m not helping you or myself by this post … just saying …

VirtualBox guest OS using host VPN connection

Groundhog day.

One of our test system is configured to have the same date over and over and over again – groundhog day. It seems that the time flies quite fast but on that particular system we are still in middle of 2013 year … I wanted to use that system for highly sophisticated test (yeah …). I needed another machine running Linux with time synchronized to that groundhog and in addition with docker support. The easiest way to get it for me was to quickly clone one of my VirtualBox Ubuntu machines (to avoid unplanned mess when changing date to 2013 etc), install there docker and change date. So far so good … but there was one more problem … I was trying to run the test from home and I had to use VPN to connect to groundhog environment. As soon as connection through VPN has been established on the host system – I lost connection on my Ubuntu guest system – something I was not expecting … I’ve asked ‘uncle google’ about it and he shared from his infinite wisdom one of the solutions: http://superuser.com/a/1035327 … this works perfectly for me – thanks Ben! … well I still need to adjust a couple of things but at the end it was quite nice issue to learn about