Skip to main content

SCRUMble ! - New Book about SCRUM

 SCRUMble ! Hello Blog Readers! Thank you for all your support and encouragement. I have something exciting for you all. I have recently written and published a new book called 'SCRUMble !'. It is currently available on pothi store. It will be soon available on Amazon and Flipkart as well. Please get your copy and do let me know your reviews. -Abhishek Sathe SCRUMble ! Written and Published by: Abhishek Sathe                                                                              Distributed by: pothi.com Order your copy now:  https://store.pothi.com/book/abhishek-sathe-scrumble/ Coming soon on Amazon and Flipkart About the book: Scrum is a framework for solving complex problems largely adapted by Software Development field. There are multiple ag...

McCabe's cyclomatic complexity

McCabe's cyclomatic complexity is calculated by measuring the number of linearly independent paths through the program. The higher the number the more complex the code.

It is a software metric developed by Thomas J. McCabe, Sr. in 1976. A Software metric is defined as a quantitative measure of an attribute a software system has with respect to Cost, Quality, Size and Schedule.

Cyclomatic Complexity can prove helpful for developers and testers to determine independent path executions to assure that all the paths have been tested at least once, to focus more on the uncovered paths, to improve code coverage, evaluate the risk associated with the program, etc. Clearly, Cyclomatic complexity is useful in White Box/Structured Testing.


Cyclomatic complexity is given by:
Cyclomatic complexity = e - n + 2p
Where:
p= number of disconnected paths of the flow graph of a calling program and a function/module

n= number of vertices
e= number of edges


Examples:







This post will be useful in understanding a question:. Which one of the following statements is incorrect?

(A) The number of regions correspond to the cyclomatic complexity.
(B) Cyclomatic Complexity for a flow graph G is V(G)=n-e+2, where e is the number of edges and n is the number of nodes in the flow graph.
(C)Cyclomatic complexity for a flow graph G is V(G)=e-n+2p, where e is the number of edges and n is the number of nodes in the flow graph.
(D)Cyclomatic complexity for a flow graph G is V(G)=p+1, where p is the number of predicate nodes contained in the flow graph G
(This question was asked in NET Paper -III Question 33 examination for subject Computer Science and Applications in paper 2012 )

Comments

Post a Comment

Popular posts from this blog

Bipartite and semihamiltonian graphs

Bipartite Graph: A graph is bipartite if its vertex set can be partitioned into two subsets X and Y so that every edge has one end in X and one end in Y; such a partition (X,Y) is called bipartition of the graph, and X and Y its parts. ex.- Notation: We denote a bipartite graph G with bipartition (X,Y) by G[X,Y]. Complete Bipartite Graph: If G[X,Y] is simple and every vertex in X is joined to every vertex in Y, then G is called a Complete Bipartite graph. ex.- Semi-Hamiltonian Graph: A semi-Hamiltonian graph is a graph that contains a Hamiltonian path, but not a Hamilton cycle. Hamiltonian Path: A Hamiltonian path in an undirected or directed graph is a path which visits each vertex exactly once. ex.- C-A-D-B-E is a Hamiltonian path Hamiltonian Cycle: A Hamiltonian cycle or a Hamiltonian Circuit is a Hamiltonian path which is a cycle. This post will be useful in understanding a question: "The nabhi kamal grapg is:" (A)Bipartite graph (B)Semi-...

Accessibility : An Important consideration in software development

What is Accessibility? Accessibility is a very important piece of consideration in today's market. It means the quality of being able to be reached or entered. Accessibility focuses on how a physically or mentally disabled person accesses or benefits from a site, system or application.  Conformance with accessibility guidelines while developing a web page or an app is important. What does accessibility mean for software development? Accessibility isn't about taking away functionality or making things difficult for the software development team. It is about making sure all possible users have a way to use the system.  How do information architects and web designers/developers design web pages to be compatible with assistive devices is an important aspect when thinking about accessibility. What does accessibility mean for software testing? Accessibility Testing checks if a product is accessible to the people having disabilities. We need to understand ...

Android 102

This post is in continuation with an earlier post : Android 101 1. Common attributes used in views and viewgroups: -layout_width -layout_height -layout_marginTop -layout_marginBottom -layout_marginLeft -layout_marginRight -layout_gravity: specifies how child views are positioned -layout_weight: specifies how much of the extra space in the layout should be allocated to the view -layout_x -layout_y 2. LinearLayout: arranges views in a single column or a single row. Child views can be arranged either vertically or horizontally. 3.AbsoluteLayout: enables you to specify the exact location of its children using layout_x and layout_y. AbsoluteLayout has been deprecated since android 1.5 4.TableLayout: groups views into rows and columns. You use <TableRow> element to designate a row in the table. Each row can contain one or more views. Each view you place within a row forms a cell. The width of each column is determined by the largest width of each cell in that column. 5....