Welcome to Lets Learn CS

Computer Science at fingertips

Categories of software testing

Categories of Testing Functional Non Functional Maintenance Functional Testing : It is a type of black box testing where internal structure is rarely considered and functions are tested by giving inputs and the outputs are examined by comparing it with the expected results.It describes the purpose of the system. This type of testing makes sure that… read more »

Different types of Software Testing

Software testing is a procedure to check whether the expected results match to the actual results of the code.In testing.It is made sure that code doesn’t have any semantic or syntax errors. Any gaps , missing code or requirements are identified. For example : Consider a source code to add two numbers.If I give input of… read more »

Methods of Software Testing

Methods of testing Manual Automated Manual testing : It is done by testers and developers.Refer to Fig 1 for the steps followed in manual testing. Automation testing : It is done by software systems.Refer to Fig 2 for the steps followed in Automation testing. Differences between Manual and Automation testing : Refer to Fig 3

Big Omega(Ω) Notation

Ω Notation provides the asymptotic lower bound on the function. A function needs to satisfy some conditions in order to be in Ω notation.Ω(g(n)) is the best case running time  of function g(n) within a constant factor. Ω(g(n)) = {f(n): there exist positive constants c and n0 such that 0 ≤ cg(n) ≤ f(n) for all n… read more »

Dijkstra’s algorithm

Dijkstra’s algorithm is way of finding shortest path from a source vertex to sink in a given connected and weighted graph.It is somewhat similar to Prim’s algorithm.It works for directed as well as undirected graphs. Source vertex is chosen and marked. Mark distances at all vertices as infinity and at source vertex as 0. Update the… read more »

Big O Notation

  It gives rate of growth of step count function(f(n)) in terms of simple function(g(n)) and defines the asymptotic upper bound on function(Fig 1). To simplify the estimation for running time,constants and lower order terms are ignored. The function needs to satisfy following conditions in order to be in Big-O class.Given functions f(n) and g(n),we… read more »

Time and Space Complexity

Before defining the actual term complexity, let us discuss about few real life scenarios.Take an example of railway reservation counter.People go there to book their tickets.The time to book tickets will depend on  how many service windows are available, queue size and time taken by each representative.A person will either go in a lane which… read more »

Pop operation in Stack

POP Operation In this  operation topmost element is deleted from the stack.Before deleting check if TOP = NULL.If yes,it means that stack is empty and no deletion can be done.If an attempt to delete element is made in this case the UNDERFLOW message will be printed on screen.If no,then element is deleted then value of… read more »

Push operation in Stack

Push Operation In this operation,the element is inserted at the top of stack(Fig 4).In order to insert element we need to check whether TOP = MAX-1.If  yes,then insertion  is not possible.If  element is still  tried for insertion , OVERFLOW message will be printed on screen as the stack do not have extra space to handle… read more »

Binary Search

Binary Search The binary search technique works only on sorted array.It works by comparing the input element to the middle element of array.The comparison determines whether the element is less than.greater than or equal to middle element.Subsequent steps to be followed are written and explained by the following program. Program #include <stdio.h> int main() {… read more »