SmartQA Community

#16 – “Being Agile #2”

SmartQA Digest

Welcome to another edition of SmartQA Digest, the second of TWO part theme on “Being Agile”. Listen to Tathagat Varma’s beautiful exposition of philosophy, mindset, culture, automation… Inspired by Matryoshka doll is the featured article “15 Facets to Problem Solving”.  Hope you like the poster on ‘Agility’ !

 
We have enhanced the SmartQA Digest with brilliant galleries of all the SmartBites, Posters, Articles. See the NEW “smartbits” gallery. Check these out at the end of SmartQA Digest page.

15 Facets to Problem Solving

We use many terms like philosophy, mindset, framework, models, process, practice, techniques etc in SW dev/test. This article attempts to simplify and put together a nice image of how they all fit in, to enable clear thinking for brilliant problem solving.

Read More »

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#15 – “Being Agile #1”

SmartQA Digest

Welcome to another edition of SmartQA Digest, the first of TWO part theme on “Being Agile”. Listen to Tathagat Varma’s as he beautifully demystifies Agile and read the interesting featured article on  “3 Ideas to Staying Agile”. Enjoy the ‘fluid’ poster!

 
We have enhanced the SmartQA Digest with brilliant galleries of all the SmartBites, Posters, Articles. See the NEW “smartbits” gallery. Check these out at the end of SmartQA Digest page.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#14 : “A confluence of interesting opinions”

SmartQA Digest

Welcome to this SmartQA Digest that is a confluence of interesting opinions. A featured article outlining views from 8 people, SmartBites containing 7 interesting opinions and the poster voicing 50+ people opinions ! A great confluence.

 
We have enhanced the SmartQA Digest with brilliant galleries of all the SmartBites, Posters, Articles and a NEW “smartbits” gallery. Check these out at the end of SmartQA Digest page.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

10 Simple Tips to Clean Code

by T Ashok @ash_thiru on Twitter

Summary
As much as testing is seen as a key activity to deliver quality, there are simple practices that can ensure that code developed is constantly cleansed. In current times where code is churned out at a rapid pace, it makes great business sense to contain the entropy continually. This article outlines ten simple tips to help produce clean code continually.


“Great quality code is not the result of intense system testing, it is result of well structured filtration of issues from the early stages. A compromised ‘unit test’ puts unnecessary strain on the QA folks who seem to be compelled to go after these issues at the expense of system test.”

Developers do not deliberately write bad code, it is just that accidents happen. Accidents happen due to a variety of reasons – unclear requirements and therefore making assumptions, just sloppy coding, brute force push of unit testing without it being simple and practical, over reliance of testing rather than prevention, not enough refactoring, not enough focus on non-functional requirements(NFR).

Here is  how I feel as a developer as a poem titled “Hug each bug”

On a quiet  night
I sat down to code
Happiness in every byte
On the keyboard, it just flowed

Sheer poetry it was
But quietly slipped in tiny flaws
Silly it was, what I found
When the code ran aground

An exception I missed
And the code really pissed
Forgot to catch the ball
The system had a mighty fall

Bugs are uninvited guests
Makes you beat your breasts
That is why you need to test
So that you deliver your best 

I say Hi to every bug
From each one I learn
Embrace with a warm hug
For perfection is what I yearn
—
If you want a lovely poster version of this, click here.

What may be some tips that I as a developer can follow to write clean code?

  1. “Never assume, ask, question”
    Requirements are never complete, it just gets refined with time. Don’t assume when something is unclear.
  2. “Think of behaviour in terms of conditions”
    Good behavior is about compliance to conditions
    ,ensure combinations are well taken care.
  3. Be friends with bug(s)”
    Do not hate bugs, for they are the ones from who teach you constantly to do better. Learn from each, so that you find it and not others.
  4. “Use smart checklists”
    While coding, be sensitive as what issues can occur. Sensitise & prevent rather than rely only on test to find issues.
  5. “Treat code as a living entity”
    Nothing is frozen. Refactor, refactor constantly to simplify. Clean code is really never done, how much you can do is simply limited by time.
  6. “Be sensitive to NFRs”
    Non-functional requirements cannot be ‘fitted’ in later, so pay attention to load, performance, usability scaling, security, maintainability etc. always.
  7. “Don’t be scared to inject bad inputs”
    Checking correctness with good inputs are fine, but it is incorrect inputs/settings that create unwanted technical debt. Get these out of way early, by ensuring robustness at early stage.
  8. “Be purposeful of issues to find via unit test”
    There are different types of issues that may be there, be clear as to what to strive to prevent, what to go after via unit test and what at higher levels of testing. Ensure clarity of what you are going after.
  9. “Strive to understand how your code will be consumed
    It is not meeting a spec, it is not working in isolation, it is about visualising who (i.e other code) will use/consume my code so it can take care of the situations in future.
  10. “Unit test is not an after thought or compliance”
    The act of unit testing is not a chore or compliance to satisfy someone, it should be natural thing that we do to ensure our code does not stray. Treat this as part of coding, not as another activity post code. Write a script while doing this or jot down stuff to perform this manually. Stay lightweight so that you can repeat this continually. After all, development should be friction-less.

About SmartQA The theme of SmartQA is to explore various dimensions of smartness to leapfrog into the new age of software development, to accomplish more with less by exploiting our intellect along with technology.  Towards this, we will strive to showcase interesting thoughts, expert industry views through high-quality content as articles, posters, videos, surveys outlined as a SmartQA Digest weekly emailer. SmartBites is soundbites from smart people”. Ideas, thoughts and views to inspire you to think differently.


digest #13 : “Delivering Clean Code #2”

SmartQA Digest

Welcome to SmartQA Digest continuing on the theme of “Delivering Clean Code”. Raja Nagendra Kumar discusses what it takes to deliver clean code dwelling on skills, innovation, outsourcing development models.

 
The featured article “10 things to be sensitive to deliver brilliant code” outlines the mindset to deliver brilliant code.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

digest #12 – “Delivering Clean Code #1”

SmartQA Digest

Welcome to SmartQA Digest on the theme of “Delivering Clean Code”. Raja Nagendra Kumar discusses what it takes to deliver clean code. The featured article “10 Simple Tips to Clean Code” is about simple practices to ensure that code developed is constantly cleansed. This is a two part series with the first one featured this week.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#11 : “The changing face of testing”

SmartQA Digest

Welcome to the SmartQA Digest  on the theme of “The changing face of testing”.  Vivek Mathur outlines his thoughts on changes in testing due to the changing landscape of dev.The featured article “12 tips to reinvent yourself in testing” outlines tips for test practitioner to reinvent.

Yay, we crossed our first two-digit mark. Yes, this is the 11th!
I would be delighted to receive your comments. Thank you /Ashok.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#10 : “Reinventing yourself ”

SmartQA Digest

Reinventing yourself“. In these rapidly changing times, reinvention is key to staying relevant. Anuj Magazine says reinvention has to be treated as a skill, with the ability to unlearn.The featured article “How do I grow in my QA career?” complements this.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#9 – The changing face of development

SmartQA Digest

Welcome to a special edition of SmartQA Digest on the theme of “The changing face of development”. 

 
The way we develop software today has changed significantly. Vivek Mathur outlines his thoughts on this theme in this edition of SmartBites. The featured article “The changing face of development” outlines the key changes in terms of approach, technology, build-vs-integrate succinctly. Enjoy this edition of SmartBites!
software testing changes

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#8 – “Testing in the age of speed”

SmartQA Digest

Welcome to a special edition of SmartQA Digest on the theme of “Testing in the age of speed”. 

 
The pace of dev and release and therefore of test is very rapid. Agile/DevOps and Automation are the key enablers. Srinivasan Desikan in the SmartBites outlines his thoughts on this. The featured article takes a different look at how good QA habits can speed up an individual to do faster.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||