Book Image

Solution Architecture with .NET

By : Jamil Hallal
Book Image

Solution Architecture with .NET

By: Jamil Hallal

Overview of this book

Understanding solution architecture is a must to build and integrate robust systems to meet your client’s needs. This makes it crucial for a professional .NET software engineer to learn the key skills of a .NET solution architect to create a unique digital journey and build solutions for a wide range of industries, from strategy and design to implementation. With this handbook, developers working with the .NET technology will be able to put their knowledge to work. The book takes a hands-on approach to help you become an effective solution architect. You’ll start by learning the principles of the software development life cycle (SDLC), the roles and responsibilities of a .NET solution architect, and what makes a great .NET solution architect. As you make progress through the chapters, you’ll understand the principles of solution architecture and how to design a solution, and explore designing layers and microservices. You'll complete your learning journey by uncovering modern design patterns and techniques for designing and building digital solutions. By the end of this book, you'll have learned how to architect your modern web solutions with ASP.NET Core and Microsoft Azure and be ready to automate your development life cycle with Azure DevOps.
Table of Contents (15 chapters)
1
Section 1: Understanding the Responsibilities of a Solution Architect
5
Section 2: Designing a Solution Architecture
11
Section 3: Architecting Modern Web Solutions with DevOps Solutions

Exploring the main types of software testing

One of the major reasons for failure in software projects is a lack of product quality. Software testing is an integral part of the project life cycle, helping to ensure that a product is error-/defect-free and, in the same way, verifying the functionalities implemented to make sure they match the requirements defined with the client. There are two main categories of software testing, outlined as follows:

  • Functional testing: This is used to validate each feature and function of the system to verify all functionalities.
  • Non-functional testing: This is used to validate non-functional aspects of the system, such as performance, usability, and compliance.

Here is a diagram showing the different types of testing we will discuss in this chapter:

Figure 8.1: Types of testing

Figure 8.1: Types of testing

We will look at all the different types of testing shown in the preceding diagram in the upcoming sections.

Unit testing...