Showing posts with label Complexity. Show all posts
Showing posts with label Complexity. Show all posts

Sunday, July 07, 2019

VUCA World - Wikipedia

VUCA stands for Volatility, Unpredictability, Complexity, and Ambiguity. All self evident.

  • V = Volatility. The nature and dynamics of change, and the nature and speed of change forces and change catalysts.
  • U = Uncertainty. The lack of predictability, the prospects for surprise, and the sense of awareness and understanding of issues and events.
  • C = Complexity. The multiplex of forces, the confounding of issues, no cause-and-effect chain and confusion that surrounds organization.
  • A = Ambiguity. The haziness of reality, the potential for misreads, and the mixed meanings of conditions; cause-and-effect confusion.

Thursday, April 11, 2019

Cyclomatic Complexity Calculation - with example

Source: Softwaretestingclass.com, Wikipedia, Guru99.com
Keywords: Cyclomatic complexity, Graph Theory

Cyclomatic complexity of a source code is the number of linearly independent paths within it.

Cyclomatic complexity is a way to calculate the complexity of a code. It quantifies the complexity for future source code modifications.

If the source code does not have any control flow statements (For e.g. If, Else, While, Do, For loops in C) then its cyclomatic complexity is 1. A source code with a single IF condition will have two paths through the code so its cyclomatic complexity will be 2. Likewise a code with one IF with two conditions or two nested IF conditions will have a code complexity of 3.

Formula for cyclomatic complexity

M = E - N + 2 * P

E = Number of edges in control flow graph
N = Number of nodes in control flow graph
P = Number of connected components

Complexity Score and Interpretation
=====================


Maintenance POV
==========

A higher complexity score means lower maintainability.

QC POV
=====

From a QC perspective, a higher complexity score means, it requires indepth testing.

Node & Edge
=======


Connected component
=============

A graph with 3 connected component.



Example
=====


Nodes = 8
Edges = 9
CC = E - N + 2 * P
      = 9 - 8 + 2 * 1 (connected component) = 2





If we already have automation, what's the need for Agents?

“Automation” and “agent” sound similar — but they solve very different classes of problems. Automation = Fixed Instruction → Fixed Outcome ...