SmartQA Community

Digital test automation

(In this SmartBits, Shivaji Raju outlines Digital test automation“. The video is at the end of this blog)

There is greater focus on services testing with lot of applications being built with service based architecture, that is one of the things that is changing significantly.  From a framework standpoint, there are approaches like BDD and some custom Java-based solutions that people are trending to use when compared to the traditional keyword driven approaches that we were using in the past. The scale at which we test on different types of devices has also increased vis-a-vis when we used to test only on one browser, like IE. Now, the expectation is that we test the product on the web, on native, on different types of devices, the combinations increases.

The other change is in terms of using testing platforms. We don’t want to host mobile devices on premise.  We test on Sauce Labs, Perfecto, or LambdaTest, these are some custom solutions that are available which can be used to scale up testing. Even lot of projects have moved from waterfall to Agile based implementations.

The other big thing is the DevOps. In context of testing, continuous testing is something that needs to be automated. So, other than we automate our execution aspects where we automate smoke,regression or different types of tests, whether it is UI services; we need to also ensure that the infrastructure and the test data elements are also automated. When we say Infrastructure,  can we automate the deployment of builds into test servers or can we provision the instances on the fly instead of having some manual dependencies to ensure we get an end-to-end continuous pipeline.

#49

SmartQA Digest

In this week’s SmartBites, Yuvaraj Thanikachalam outlines as to what Blockchain is, why this is considered a revolutionary technology, what businesses could benefit from this and the challenges to adopting this in the video “Blockchain – the technology“.
 
In the beEnriched section is a short primer on Blockchain outlining ‘What is blockchain technology’, ‘How does it work’ and ‘Where is it useful’. Checkout the article “Blockchain – What, How & Where“.

beEnriched

Blockchain – What, How & Where

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.

Read More »

expandMind

Featured image for article "Sketchnote"

Sketchnote

Sketchnotes are purposeful doodling while listening to something interesting. Sketchnotes don’t require high drawing skills, but do require a skill to visually synthesize and summarize via shapes, connectors, and text. Sketchnotes are as much a method of note taking as they are a form of creative expression.

Read More »
poster on blockchain developer

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

smartbits

||NUGGETS OF LEARNING||

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.


on Coverage

(In this SmartBits, Girish Elchuri outlines ” on Coverage “. The video is at the end of this blog)

During development,100% unit testing is needed, anything less is useless. Look at it this way; when you are crossing the chasm, if you jump even 99%, you still die. So it has to be 100%. The way I approach this is, every single line of code that I execute, I execute it as part of the code itself or execute it separately to make sure that the function is behaving the way that it is expected to behave for the parameters being passed.Most of the times the help text provided by the man-pages for the functions may not be 100% complete.From that perspective firstly you have to test the code by yourself. Secondly, certain functions even after being tested have to be again tested as a  part of the product and for that I do write a lot of scaffolding code. It is a must. This is not something that I preach, but I practise as well. At this stage, a lot of development of my product is done by myself and I do practise 100% of unit testing and in my opinion, there is no shortcut.

#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||

Seven habits to healthy code

T Ashok @ash_thiru on Twitter

Summary


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!

“Healthy code is not the outcome of review or testing, it is from doing simple things diligently.”

What comes to your mind when you hear the word ‘HEALTHY’?

It really is a combination of healthy mind and healthy body. So when I say ““HEALTHY HABITS”, what do you think of?

Now, let us relate to code. What is healthy code?

So what are the habits to stay healthy? Let us correlate these habits to software.

Let us reorder these seven habits …

“Healthy code is not the outcome of review or testing, it is from doing simple things diligently.”


Key trends in automation

(In this SmartBits, Shivaji Raju outlines ” Key trends in automation “. The video is at the end of this blog)

Key trends in automation are significant focus on services testing with the architecture changes coming in. With service-first approach and microservices , there is a lot of emphasis on testing the services. The other aspect is that traditionally we had a lot of test cases or automation scripts on the UI. That seems to be changing. We are trying to bring in quite a balance between different layers of testing rather than just focusing on UI.

The other trend is on the tools. We were predominantly using tools like HP UFT, Rational tools, or Selenium to some extent. The trend now is shifting towards script-less solutions like Tosca, Functionize, Mabl which has ability to build scripts faster. Some trends have been noticed on the framework front too. We traditionally had QA-driven approaches which were quite heavy. Now the shift is to use lightweight approaches or frameworks, especially in the Agile context and frameworks that integrate to the toolsets as part of the DevOps pipeline itself. The need is to ensure that the framework integrates with different build tools like Maven, JIRA or Artifactory. Those are some of the expectations when building a solution for the framework.

Again, DevOps is a significant trend now, so the expectation is to see how we could automate the continuous testing pipeline, considering that it’s not just about automating the execution piece, automate even test data or probably automate the infrastructure piece. So for provisioning infrastructure from the clouds, there are certain tools to do that and then there are trends around virtualizing services, even virtualizing databases also to ensure that some automation is brought into the data and the services layer and that is how we would achieve an end to end CI or CT automation.

#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||

Deep dive to rapidly understand an entity

Summary

Deep dive 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.

The original article is at https://stagsoftware.com/dosmartqa. CLICK HERE to read the complete article.


The challenges of legacy code

(In this SmartBits, Zulfikar Deen outlines “The challenges of legacy code “. The video is at the end of this blog)

We move quite slowly compared to how the industry moves. It is like a different cog in a gearbox where one actually moves very slowly and the other one is moving really fast, but there is a need to have a proper connection in place. If you are looking at the quality of the whole system, you need to look at holistically. When integrating with the slow-moving system, how do you ensure the data moves in the right speed, right velocity and it is tested correctly?

The biggest challenge would be that, in the existing system, the data may not be good. There could be a  lot of garbage in the data because of usage of system for several years. When you are integrating with the newer technology, or a wonderful new system and post plugging in, if that expects good clean data, it is not going to happen. It’s going to be very challenging in terms of fidelity, velocity and data cleanup.

Partner talks about jQuery or possessing technologies like  ML engine. My internal team may not be able to connect with them. There are so many technologies out there, my internal team is focused on making sure my system is running operations, so that becomes the primary focus. 

Technology may be very interesting, but they may not be able to connect to what you are speaking. As a partner, we need to make sure that it is holistically tested. It is very critical to hand-hold the internal team when doing the integration pieces, during the testing time, operationalizing time and support time.