Showing posts with label manual testing. Show all posts
Showing posts with label manual testing. Show all posts

In last article we have understood all about the incremental testing now we are moving towards the types of integration testing in details. We have seen the Top down integration testing, bottom up integration testing & big bang integration testing. But in this article we will understood remaining integration types along with big bang integration testing. The remaining types of integration testing is, Incremental integration, Functional integration and sandwich integration testing.

Types of Integration Testing

In last article we have listed down the different levels of software testing and this unit testing is the first level. We can consider unit testing as a small part of an application or product and we need to perform testing activity on it. Function testing, Interface testing and Procedure testing can be done in this part. Unit testing will be done by the developer team to verify that code have been written as per expectation and it will meet with all the requirement & design of the product.

As we have discussed, Unit test cases have been written and executed by developer team only. They will prepare test cases and execute it and then they will pass the release to the testing team members. Main goal of the unit testing is, each and every part of the application or product should be verified once in perspective of code and design. Not a single part of the product will be remain without the testing. This will give surety that every part of the application or product will work as expected. 

In previous article we have understood about the component testing which needs to be done before integration testing. Integration testing can be define as the testing of the different components and interfaces of application.  Integration testing will be done with the different modules of the application which are dependent upon each other. It can be performed between operating system and file system or hardware and any interface of systems. Once 2 module will be developed and integrates together at that time integration testing will be performed for that application or product.

We can take an example of Order Management system web application. In this Order Management system different modules are define like Login page, Customer Details page, Order Details page and Final Transaction page. Here each page is integrated with each other. Customer should not be able to login without the sign up. And each sign up should be saved in customer details module. Customer should be able to place order only after the successful registration or login. And Order will be placed only after transaction will be done successful. Thus, we can say that each pages are integrated with each other. If Order have been placed by any customer and that customer would be deleted by any tester then application should give a validation message. This can call actual integration testing that any dependent data should be deleted and removed from the application. The same any system integration and files integration can be verified.
ISTQB - Integration Testing

Component testing is one part of the testing levels. We got idea about the testing level in previous article where all the testing levels were not define with deep details. Here we will get understood that how component testing will be performed by a tester or team.

To test the each component of application or product separately is call component testing. We can take an example that an application have 3 components and each components need to be tested separately which call component testing. By doing component testing the efficiency of each component will be increased. We can also identify component testing as module testing or program testing. Here bugs will be identified in each module or component in terms of verifying functionality of application or product. Component testing will be done by a tester and testing team only. Developer team will not be interfere in this procedures. Component testing is one kind of white box testing.
ISTQB - Component Testing

There are different testing levels are available in software testing. We have seen that software development life cycle have so many phases like requirement gathering, Designing, development, Testing & Maintaining the product. This all phase have testing steps as testing is required in all level of software development. We have seen all models of the software development now we will understand about the testing levels in detail. First of all we will need to identify that why testing levels have been came to the picture. Testing levels are required to remove overlapping of software development life cycle. We can identify missing areas of development life cycle by testing levels. There are various level of testing is available. Like Unit testing, Component testing, Integration testing, System testing and Acceptance testing. Let’s take understanding of each one.

ISTQB - Testing Levels

In last article we have understood about the iterative model and in this article we will get details about the spiral model. This model is one kind of software development life cycle model. 

ISTQB - Spiral Model

In last article we have understood about the spiral model, Now we will about to understand for Prototype model which is widely used for software development. This would be the last model of software development. In prototype model, we are creating the replica of the original product or application first which will be observed and identified deeply. After the engineering phase will be done for product or application, we are including clients here for their feedback on product replica. Here Design and coding is not directly applied but before that one prototype have been created which will give us the actual feel or the product or application and client will understood that properly and list down more requirements, updates and changes which needs to be note before the actual development.

ISTQB - Prototype Model

Iterative model is one part of the software development life cycle. There are so many models available for software development life cycle as we have seen all in last article. In Iteration model, initially implementation will be done as simple as possible and afterwards complexity of the product will be increased. Further features of the product will be introduced until the final deployment procedure will be taken place. We must say that iteration model itself describes that it will break the large product in very small iteration and each iteration will be developed perfectly.

In the initial level of iterative model, all requirement will not be specified. Here first of all specified requirements will be developed and it will be reviewed to identify further requirements and it will be discussed and implemented in next iteration. Iteration procedure will be started with the simple implementation and small set of requirement will be developed first and each iteration will be contain versions till whole product will be developed. Each iteration have well define time period for development, testing and deployment.

Agile Model is containing agile scrum methodology of project development. Here product will be developed in different sprints with its own development cycle. We can say that this model can be a type of incremental model. This model is widely used in software companies. In this model, continuous iteration will be developed by developer team and testing team will test whole iteration through out the whole development cycle. This iteration can be known as sprint. Here in each sprint requirement analysis phase, design phase then development phase and testing phase will be take place. Each sprint will be developed as an individual module of the whole product.

ISTQB - Agile Model

RAD is stands for Rapid Application Development. We can say that it is part of incremental model. In RAD model, if planning will be done perfectly then required product will be completed soon by the team as in RAD model each phase of development life cycle will be executed in parallel. Each development life cycle will be considered as a development of mini project and afterwards whole project will be completed by integration all mini projects or application. Mostly planning will be done as per the initial requirement and further if requirements will be changed then it may be covered in different group of development life cycle.

We have understood about the waterfall model and V model of Software development. Now we will get detail idea about the incremental model. Here in incremental model, whole requirement will be device in the small group. For example If we want to draw a picture of a man then first we will complete whole face features then we will draw Hands and legs, afterwards we will go for body shape and then in last stage we will finalized whole drawing by making some small changes of shapes and shades. This kind of same steps have been followed in incremental model.

V model basically used when product development will be done in sequence and in V shape which have been define in below. We will understand in details about below aspects. V model is known as verification and validation model. We can say the V model is second name of waterfall model. After the development phase, testing phase will be taken place in V model. Thus, each development life cycle will be attached with the testing phase.

In last article we have seen the details about the software development models in which all model names have been mentioned. Now in further articles we are going to understand each software development model in detail. Each software development model will be described with its advantages and disadvantages. Let’s start with waterfall model.

This software development model is the first procedure model. That’s why we can call it introductory software model and it is known as linear sequential life cycle model. As this is very oldest model, it is very easy to understand and we can use it easily. In this model, each step should be completed before starting the new step of software development. This kind of software models are basically used for small project and the project which will not require more updates.
ISTQB - Waterfall Model

In last article we have seen about the software development life cycle and in this article we will deeply understand about the software development models. Software development life cycle will you the process of execution while developing a product but software development models will give you the actual idea about which methodology you can use for your product. For example, A merchant have an idea that he wants to prepare a chair but He will start to build with the sitting area first or He will start with the legs first that will be define as per he decide to follow the models of different chairs.

Thus, basically software development models have different kind of process and methodologies which can be selected as per the requirement of product or application. So many models are available for software development life cycle which have different objectives to follow. As the project’s goal, we need to select one model for same. The models are define with the stages of development which we needs to follow.

Software Development Models

In last article we have seen about software development life cycle and understood its 3 level. In this article we will continue with the level 4, 5 & 6 of SDLC. 

4. Testing:
Software testing is came in the 4th level of software development life cycle. As we have seen tester can be involved in first phase of software testing life cycle. This is very important point, as we are taking tester team members in the requirement gathering then most of discussion will be done in front of all the teammates so communication gap will not be there during the project development phase.

Even needed improvements and suggestions can be noted down in the requirement gathering phase. As we know that after requirement gathering next phase is design and then coding phase came to the picture but testing phase can be started after the coding of the application was completed. Once a coding phase will be completed, testing team start working on the application as per the Software testing life cycle. In testing life cycle requirements have been gathered and it is divided within the team. As per the assignment, testing team will start work on the application or Project.

In last article we have seen the deep explanation for CMMI Levels. Now let’s move to the other important topic of management system. It can be called ‘Software Development Life Cycle’.

Here we will understand each phase of SDLC life cycle. From beginning to the End how a Software or Product will be developed and launched.

We can say that every organization have different methods to develop a software and it may be designed with many different methodologies and ideas. This kind of methodology can be known as ‘software development life cycle models’. Like Waterfall Model, incremental Model, RAD Model, Agile Model, Spiral Model, Prototype Model, V Model, iterative Model etc.

Every module have their own functionalities which needs to be fulfilled to develop a successful software. SDLC life cycle phases are designed just the way we are executing one by one steps. After ending of the one phase, all discussed requirements for that should be worked properly.

In last article we have understood about the CMMI and its 2 level. Now in this article, we will see the Level 3, 4 and 5 which is covered under CMMI level. Let’s start with CMMI Level 3.

Level 3: (Definition)

  • In this level, Organization have already define some set of rules and processes which needs be followed by all the employee of the organization. Thus, Different Group of developers can handle the client with same set of procedures easily. This procedure can provide consistency toward the client too. Client also can work with the different group of employee within the same organization.
  • In define level of CMMI, we can say that specific goal have been achieved by the company. As well define procedures have been understood by each employee of the organization and it have been followed and successful since so many years. Even client have been satisfied with the processes which have been followed by the organization for the projects. This will give a benefit of customer and client relationship too.

In last articles we have seen about the software verification process and software validation process which plays a major role in software testing procedure. Now let’s come to another important topic, Capability maturity module. This module is used to find the maturity of any company’s software processes. How an organization is managing the software development process and which kind of methodology have been used by the company this all questions have been answered in CMM verification. We can say that it is the bench mark for the measuring about the company’s followed procedures. CMM have different levels for measuring the organization management. All CMM level have been measured by different key process area. In verification of CMM levels, it includes the projects and clients of the organization and how a company is dealing with them with and what kind of standard procedures have been followed for satisfaction of clients.

CMMI Level Provides below details for identifying the organization’s perspective.

In last article, we have seen the verification procedure of software testing. Now lets move to the validation procedure. In this procedure we need to compile the application and need to check that all the requirements are fulfilled. Each and Every functions of the application must be working properly.
Goal of validation is not connect with organization of user need. 

Validation process will be performed after the validation process of an application. Thus, we can say that after completing the development procedure only we can start validation. Validation is done at the end of the development phase.

Validation will give the answer of a question like, Am I building a right product?. IF any data is required then am I using the proper data for my application. This answer have been given by validation procedure.

In last article we have seen about the software quality and we have completed first chapter of ISTQB there. Now let’s begin with chapter number 2. It is all about the testing lifecycle. Verification is part of the same.

We can define verification as we can deliver the product which satisfied all the functionality and requirements of client.

Verification needs to be started at very early stage of software development life cycle. Infect first step should be taken as verification. Verification have their own levels. First level is review of the requirements, walkthrough meetings and Inspection meetings. This all term we will discuss later on. This all are the levels that came under verification group. In verification we need to evaluate the documents, test plans, Code Review & requirement specifications. This all are part of verification procedure.