SmartQA Community

Blockchain – What, How & Where

T Ashok, @ash_thiru on Twitter

Summary

This article is a short primer on Blockchain outlining ‘What is blockchain technology’, ‘How does it work’ and ‘Where is it useful’. Curated from four articles which are nice and easy reads.


Blockchain 101

The interesting article “Blockchain explained” is about “What”,  and outlines What is Blockchain?, How Blockchain Works, Is Blockchain Private?, Is Blockchain Secure?, Blockchain vs. Bitcoin, Basics of Public and Private Key, Practical Applications, Pros and Cons of Blockchain, Disadvantages of Blockchain  and What’s Next for Blockchain? A quick and easy read it is, check it out!

How Blockchain Technology Works. Guide for Beginners” is a nice and easy read on the “How”, covering Hash function, Nonce, Nodes, Wallets, Digital signatures, Protocols and Principles of Blockchain.

Blockchain networks

There are different Blockchain networks – Public, Private, Permissioned and Consortium.  In a public blockchain networkis one that anyone can join and participate in, such as Bitcoin. In a private blockchainnetwork, one organization governs the network. It controls who is allowed to participate in the network, execute a consensus protocol and maintain the shared ledger. A private blockchain can be run behind a corporate firewall and even be hosted on-premises.
In a permissioned blockchainnetwork, there are restrictions on who is allowed to participate in the network, and only in certain transactions. Participants need to obtain an invitation or permission to join. In consortium blockchain network multiple organizations share the responsibilities of maintaining a blockchain, predetermining who may submit transactions or access the data.

Read about this in “What is blockchain technology?”. 

Applications of Blockchain

What are areas where Blockchain can be very useful? Well these are:
1. Payment processing and money transfers
2. Monitor supply chains
3. Retail loyalty rewards programs
4. Digital IDs
5. Data sharing
6. Copyright and royalty protection
7. Digital voting
8. Real estate, land, and auto title transfers
9. Food safety
10. Immutable data backup
11. Tax regulation and compliance
12. Workers’ rights
13. Medical record-keeping
14. Weapons tracking
15. Wills or inheritances
16. Equity trading
17. Managing Internet of Things networks
18. Expediting energy futures trading and compliance
19. Securing access to belongings
20. Tracking prescription drugs

The article “20 Real-World Uses for Blockchain Technology” outlines the “where”,  that is areas Blockchain can be used in, and how these applications could benefit from this technology.


#48

SmartQA Digest

“Healthy code is not the outcome of review or testing, it is from doing simple things diligently.” What is healthy and what are habits that we embrace to stay healthy? If we correlate this to code what does this mean, is what this pictorial article “Seven habits to healthy code” is about.

In this week’s SmartBits, Shivaji outlines”Key trends in automation“.

beEnriched

Seven habits to healthy code

Healthy code is not about just working correctly. It is about future-proofing, maintainability, adaptability, reusability and so on. As in real life where face shines when you are in the pink of health, beautiful code also shines!

Read More »

expandMind

Necessary but not sufficient book

Necessary but not Sufficient

I have been a great fan of Dr Goldratt having read all this books, my favourite being his first book “The Goal”. This book “Necessary but not Sufficient” is written as a “business novel” and shows the fictional application of the Theory of Constraints to Enterprise resource planning (ERP) and operations software and organizations using that software.

Read More »
Poster Craftsmanship

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#47

SmartQA Digest

Deep dive to rapidly understand an entity is this week’s beEnriched section article. What is Deep dive? It is about going deeper, by reading available spec, by exploring, and using information from past experiences to understand an entity. This is done rapidly with a sharp focus and a 360 vision in eight steps.
 
In this week’s SmartBits, Zulfikar talks about The challenges of legacy code” .
Check out the beautiful poster with quote by Bob Moawad that says “Quality begins on the inside… then works its way out.” 

beEnriched

Deep Dive into software testing

Deep dive to rapidly understand an entity

Deep dive is about going deeper by going through available spec, by exploring it, and using information from past experiences to rapidly understand an entity. This is done rapidly with a sharp focus and a 360 vision in eight steps.

Read More »

expandMind

Necessary but not sufficient book

Necessary but not Sufficient

I have been a great fan of Dr Goldratt having read all this books, my favourite being his first book “The Goal”. This book “Necessary but not Sufficient” is written as a “business novel” and shows the fictional application of the Theory of Constraints to Enterprise resource planning (ERP) and operations software and organizations using that software.

Read More »
testing quality poster Bob moawad

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#46

SmartQA Digest

The sufficiency of test cases has always been an interesting challenge.The cliched notion of code coverage is sadly insufficient, being an unidimensional measure. “The smart coverage framework” outlines a refreshingly simple picture as a smart coverage framework.
 
In this edition of SmartBites are four snippets of brilliant advice from Sudhir, Zulfikar, Girish & Jawahar – “Have extreme ownership mindset”, “Focus on the big picture”, “Build with quality, not test after” and “Understand operating conditions & implementation to test well” as SmartAdvice #1
 

Oh, in this week’s SmartBits, Srinivasan Desikan outlines “The evolution of dev” and what it means to testing.

beEnriched

SmartQA smart coverage pic

The smart coverage framework

T Ashok @ash_thiru on Twitter Summary Coverage, an indicator of test effectiveness is really multidimensional and has not been dealt with rigour most often(excepting for

Read More »

expandMind

Necessary but not sufficient book

Necessary but not Sufficient

I have been a great fan of Dr Goldratt having read all this books, my favourite being his first book “The Goal”. This book “Necessary but not Sufficient” is written as a “business novel” and shows the fictional application of the Theory of Constraints to Enterprise resource planning (ERP) and operations software and organizations using that software.

Read More »

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#45

SmartQA Digest

What does it take to do SmartQA? Smart Thinking, Smart Understanding, Smart Design, Smart Plan, SmartQA Test Organisation and Smart Planning. A pictorial article on this is what this week’s beEnriched article “7 Pictures to Doing SmartQA” is.

In this week’s SmartBites “Lean thinking & Agility“, Tathagat Varma outlines how Agile inspired by lean thinking is accomplishing agility in SW development.

Isn’t it amazing that earth just goes about the job quietly, of revolving around the sun a whopping distance of 940 million kms every year? A joy it is to pause and ponder the amazing cosmic wonder, and celebrate as it commences another revolution around the sun. On this happy occasion of a new beginning, enjoy the poem that I wrote titled “Bless us all”.

beEnriched

7 Pictures to 'doing SmartQA

7 Pictures to ‘Doing SmartQA’

A mashup of three articles published as part of SmartQA digest over the last few months that outlines mindsets needed to brilliant code, tips to produce clean code and habits to speed up evaluation

Read More »

expandMind

BLESS US ALL poem

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#44

SmartQA Digest

Great code occurs due to a brilliant confluence of clean code mindset, good heuristics/tips and  healthy software engineering habits. This week’s beEnriched section article 10 mindsets, 10 tips & 10 habits to clean code connects these using articles that were published earlier.
 
It is not a great working solution, it is not brilliant technology that makes deployment of an enterprise solution  successful, it is ‘operationalising’ that is key to success says Zulfikar in the smartbits video “Operationalising is key“.
 
Oh, this week’s SmartBites is “10 Thoughts” on Agile mindset, metrics, AI, good vs bad code, “what is technical after all” and others from ten wonderful practitioners.
 
Hope you have checked out the new SmartQA web site at smartqa.community?  Guess you have noticed that all prior digests are also available here !

beEnriched

expandMind

Black box thinking

Learning from failures .The inside story of how success really happens and how we cannot grow unless we learn from our mistakes.

Read More »
AccessibilityTesting

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#43

SmartQA Digest

Prevention occurs due to good understanding. Detection occurs due to good understanding. Understanding of what is needed, what is stated and what is implemented. The beEnriched section article outlines two tools for doing this –  “TWO tools to aid smart understanding“.
 
Testability impacts deliverability. When it’s easier for testers to locate issues, it gets debugged more quickly, application gets to the user faster and without hidden glitches Listen to the short video “Design for testability” from Girish Elchuri in this week’s smartbits.
 
Oh, this week’s SmartBites is about “Expectations from enterprise customers and what it means to QA” from Sriramadesikan.

beEnriched

expandMind

Black box thinking

Learning from failures .The inside story of how success really happens and how we cannot grow unless we learn from our mistakes.

Read More »

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#42

SmartQA Digest

I had an interesting discussion with an engineering director of a product company on the subject – “dedicated QA or non-dedicated QA”. He was keen on a strong development QA as part of engineering team with an additional dedicated(small) QA  team, and was seeking opinions. That triggered the thought for this interesting article “Role of dedicated QA in the new age dev” in the beEnriched section.
 
Simplification is hard, and can drive innovation. Listen to the 3-minute video “Simplify, Innovation happens” from Raja Nagendra Kumar in this week’s smartbits.
 
Have you watched the video on inclusive design titled “Mismatch: How Inclusion Shapes Design” that was published last week?
 
Did you check out the new SmartQA site smartqa.community  All the prior digests are also available now here !

beEnriched

Role of dedicated QA in the new age dev

In current times with rapid dev driven by Agile, with testing done by dev folks, is there a need for dedicated QA?  What is dedicated QA really? What  should be the value adding dedicated QA be in the new age dev?
Read more

expandMind

Black box thinking

Learning from failures .The inside story of how success really happens and how we cannot grow unless we learn from our mistakes.

Read More »

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

#41

SmartQA Digest

What does it take to do SmartQA? Thoughtful pause, multidimensional thinking, sensitivity and awareness and designing for robustness/testability. A short crisp article continuing from the prior article outlining five more thoughts on what it takes to do SmartQA. Doing SmartQA is about visualising the act in one’s mind and taking steps to being robust and enabling rapid easy validation, outlined in this crisp article FIVE *more* thoughts on ‘Doing SmartQA’ in the expandMind section.

In this edition of SmartBites, listen to two great pieces of advice from Vivek and Shivaji on ‘reinvent yourself’ and ‘staying in sync’ in today’s rapid dev as “Smart Advice #2“. In the nanoLearning section Jawahar Sabapathy helps us understand containerisation & microservices and its role in today’s architecture.

beEnriched

expandMind

Black box thinking

Learning from failures .The inside story of how success really happens and how we cannot grow unless we learn from our mistakes.

Read More »

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

FIVE *MORE* thoughts on ‘Doing SmartQA’

T Ashok @ash_thiru on Twitter

Summary

What does it take to do SmartQA?  Thoughtful pause, multidimensional thinking, sensitivity and awareness  and designing for robustness & testability.  A short crisp article continuing from the previous article outlining FIVE MORE thoughts, on what it takes to do SmartQA.


It is about pausing to speed up, it is about thinking multidimensionally, it is about being sensitive and aware, it is about designing for robustness and testability to doing SmartQA. 

Doing SmartQA is about visualising the act in one’s mind and taking steps to being robust and enabling rapid and easy validation.

1. Pause to speed up

Before you test, pause; ask what are you testing, for-what and for-where(environment). If you are not very clear, explore rapidly to dig in and understand from users’ POV and architecture/construction. Pause to collect your thoughts as to what issues to go after and how, then uncover exploiting using tools as needed.

After all, doing SmartQA is about enabling clarity to visualise potential issues before evaluating rapidly. Pause to speed up.

2. Multidimensional thinking

Yesterday a good friend of mine told me about his recent conversation with a senior engineering manager in a product dev org. The Sr Engr Manager, a great believer in code coverage told him that he just focuses on covering close to 100% code as the only measure to ensure quality, and as a means to implement shift-left. Absolutely right, isn’t it?  After all, ensuring all code written is at least executed once & validated is logical and necessary. 

What is/are the fallacy in this? (1) Well you have assumed that all code needed has been written (2) Well, non-functional aspects of code cannot be completely validated (3)Well, it assuming that this is what users really wanted, even if code is working flawlessly (4) Well, the number of paths to cover at the highest level of user oriented validation is just to many to cover, next to impossible! Code coverage is a necessary condition but simply not sufficient.

Doing SmartQA requires multidimensional thinking, of looking of the system from various angles both internal in terms of code, architecture and technology and external in terms of behaviour, end users, environment & usage and then making appropriate choices of what to validate later or earlier and what to prevent or detect statically.

3. Sensitivity and awareness

Being sensitive and aware to the causes of errors is useful in doing SmartQA and delivering clean code. 

  1. At large, errors creep in due to these :
  2. Untold expectation – Did not know they wanted these, as they did not communicate it to me.
  3. Accidental omission – They missed stating it clearly to me.
  4. Quiet assumptions -Filling in the gaps quietly, without confirming.
  5. Incorrect implementation – Mistakes made during transformation to code.
  6. Inappropriate modifications – Making fixes without fully appreciating the larger context.
  7. Interesting side effects – Innocuously affecting others, without appreciating that they are coupled.
  8. Deliberate abuse – Wantonly use it incorrectly to push it beyond and break it.
  9. Innovative usage – Used in a very different context that I never thought about.

Appreciate that these may occur anytime, a heightened sensitivity enables us to question, analyse, clarify and validate.

Doing SmartQA is not just finding issues, but sharpening one’s senses to be able to smell these and spot them from afar or near before they hit us. It is about elevating QA to be far more valuable to business success. 

4. Designing for robustness 

Doing SmartQA is not just evaluation. It is about enabling code that is being built to be robust. To resist errors creeping in, to code-in firewalls. To ensure that I have all I need in good condition before I consume it. This implies that data (inputs) process are clean, the environment I operate in is clean and the resources I need are indeed available, and the dependencies that I have on others are indeed working well.

All I do is to protect myself. How can I handle when irritants are hurled at me? Well I have three choices :

(a) reject them and not do what I am supposed to do (b) flag them (log) and not do what I am supposed to do (c) intelligently scale down and do lesser.

The key focus is be robust, to be disaffected by inputs, configuration/settings, resources or dependent code. The act of designing for robustness makes one sensitive to potential issues that may arise and ensuring we are edged into a corner. 

5. Design for testability

Not only is it necessary to design the ‘how-to-do’, enabling ‘how-to-examine-the-doing’ is doing SmartQA. Enabling the ability to test the code easily and ascertain what went wrong to speed up debugging.

Hooking in code to enable the ability to inject inputs to stimulate and the ability to ascertain the correctness of outcomes is doing SmartQA. Putting in traces that can be logged and turned on doing test/debug and off doing production is indeed SmartQA. Embedding ‘self-test code’ is possibly the highest forms of testability. 

Ding SmartQA is about enabling the ability to validate too!

You may find the prior article on this “FIVE thoughts on doing SmartQA” interesting. Check it out!