Welcome to Siva's Blog

~-Scribbles by Sivananda Hanumanthu
My experiences and learnings on Technology, Leadership, Domains, Life and on various topics as a reference!
What you can expect here, it could be something on Java, J2EE, Databases, or altogether on a newer Programming language, Software Engineering Best Practices, Software Architecture, SOA, REST, Web Services, Micro Services, APIs, Technical Architecture, Design, Programming, Cloud, Application Security, Artificial Intelligence, Machine Learning, Big data and Analytics, Integrations, Middleware, Continuous Delivery, DevOps, Cyber Security, Application Security, QA/QE, Automations, Emerging Technologies, B2B, B2C, ERP, SCM, PLM, FinTech, IoT, RegTech or any other domain, Tips & Traps, News, Books, Life experiences, Notes, latest trends and many more...
Showing posts with label software. Show all posts
Showing posts with label software. Show all posts

Friday, July 17, 2020

The C4 model for visualizing software architecture

The C4 model for visualizing software architecture

What is C4?
Context, Containers, Components, and Code

What tools can I use? How to create?
There are many tools available and can be used, and my favorite is http://draw.io/

Why one should use it?
Usually, there are many ways one can visualize the software architecture diagrams including UML, and yet, if you are going in a faster and agile of handling software architecture and wanted to visualize easily, then you can go for the C4 model

Where it is widely used?
To communicate your software architecture diagrams effectively in fast-paced environments

You wanted to know more, then go ahead and read more at https://c4model.com/

Wednesday, January 1, 2020

I know, you know about Pyramid; but what is "Test Pyramid" then :)

A happy new year to all the readers out there, and yet another new decade with the 20s, and wish you all be happy, peaceful and healthier than ever before to take up challenges that are waiting for you in this decade. I started blogging a decade back and when I reflect on this irregular hobby, I feel great about it as time passes away so fast and this blog is of 10 years old now:)

Okay, I know, you know about Pyramid; but what is "Test Pyramid" then :)

You would be getting to know about the Test Pyramid only if you are serious about the Test Automation and how much you can actually do the test coverage with your automated testing for the developed software.

If a developer is writing the tests by himself for the piece of code/software that he has built: those are the unit tests as part of the Unit Testing. And if he is thinking about doing some sort of automated tests for testing the integrations with other services, then that would be the integration testing or services testing. If he is looking for even broader testing scope of the overall system, then that would be the End to Eng System Integration Testing. Even after all these, sometimes, he has to manually test the system to how it is working and those are nothing but the Manual Testing.

With the above in mind, Let's see what is the Test Pyramid and how it would look like in the below picture, and keep in mind that the time spent and the costs involved are more from bottom to top, and the tip of the peak at the pyramid comes with the manual testing(that we have not discussed above while providing the context).



So, what is your take on how much we can cover from the test pyramid? It is completely up to you and your engineering team on what are your priorities and how you wanted to see the return for the time and cost that you have spent on all the layers of your test pyramid.

Reference articles:
https://martinfowler.com/articles/practical-test-pyramid.html#TheTestPyramid



Saturday, November 30, 2019

Quite Interesting: 12 Steps to Better Code... and still valid!

Quite Interesting: 12 Steps to Better Code....and still valid!

It has been two decades or so, and this so-called "Joel Test" is still valid for the current situation of software development engineering practices

The Joel Test
  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

Source: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/

All the above 12 criteria are valid except 5&6 based on a few situations like business demand or if-it-was-working then lets-not-change-behavior :)

Sunday, December 28, 2014

All in one : Python

A curated list of awesome Python frameworks, libraries, software, and resources

Reference:

https://github.com/vinta/awesome-python