Software robustness is a quality check that reveals how much software is tolerant to faults. No software can proclaim to be faultless, every software has some or the other fault. But in your day to day life whenever you use software, you are never worried about its malfunction or about the correctness of the result provided by the software. This is because software is … [Read more...] about Software Robustness
Software Engineering
Data Structure Design
The data structure design is a method that starts with the specification of the program (what the program does) and leads to the detailed program design expressed in the form of pseudo-code. This method is variably referred to as the 'Michael Jackson program design method' after the name of its inventor 'Michael Jackson'. Sometimes, we refer to it as 'Jackson Structured … [Read more...] about Data Structure Design
Functional Decomposition
Functional decomposition is a method used to design a detailed structure of components or modules of the software. Functional decomposition specifies the functions, activities, processes or actions that the component or module of the software has to perform. You can better understand the concept of functional decomposition with the help of an example. So in this context, we … [Read more...] about Functional Decomposition
Modularity in Software Engineering
Modularity specifies the separation of concerned 'components' of the software which can be addressed and named separately. These separated components are referred to as ‘modules’. These modules can be integrated to satisfy the requirement of other software. In this context, we will be discussing the concept of modularity in software design, why do we require modularity, … [Read more...] about Modularity in Software Engineering
Feasibility Study
A feasibility study specifies whether the proposed software project is practically possible or not. Whenever there arises a need for any software you don’t directly jump in developing the particular software. Instead, we must first analyze certain facts to realize whether the software is worthwhile or not and this is called the feasibility study. The feasibility study … [Read more...] about Feasibility Study
Requirement Engineering
Requirement engineering is the process of collecting, validating and managing the requirements essential for the development of the software, specified by the clients or the end-users. This task is performed at the initial stages of software development. The requirement engineering process involves a team of software developers or engineers, business analysts, customers and … [Read more...] about Requirement Engineering
Difference Between Black Box Testing and White Box Testing
Black box testing and white box testing both are the methods of testing the software. But, the main difference between black box and white box is that the black box testing checks the functionality of the software (external view) whereas, the white box testing, tests the internal structure or procedural design (internal view) of the software. Black box testing and white box … [Read more...] about Difference Between Black Box Testing and White Box Testing
Basis Path Testing
Basis path testing derives the number of 'test cases' that can be designed to exercise each & every statement in the program at the minimum once while testing is conducted to uncover all the possible errors of the program. Basis path testing is a method of testing the control structure of conventional software. In this section, we will discuss the steps for conducting … [Read more...] about Basis Path Testing
Black-Box Testing
Black-box testing is a ‘software testing technique’ used to examine the functionality of the software instead of bothering about the ‘internal structure’ of the software. It is also termed as behavioral testing as it examines the behavior of the software. Black box testing analyzes different categories of errors by testing all the functions of the software. In this section, … [Read more...] about Black-Box Testing
Software Testing Strategies
Software testing strategy is an approach which incorporates planning of the steps to test the software along with the planning of time, effort & resources that will be required to test the software. Software testing strategies plans to test any software starting from the smallest component of the software and then integrating test towards the complete system. The testing … [Read more...] about Software Testing Strategies