What is software ....?
Software is simply an application that will be designed by a team containing Business Analysts, Developers, Tech Architects, Testers and Operation teams based on the client's requirements.
For example, Let's imagine a client XYZ needs software for an e-commerce application. So XYZ seeks help from tech companies and seeks their help to build an application for them. This includes the business logic that the client needs in the software. So when the application is developed it has both sides primarily. It can be divided into Front End and Back End. Front End is the UI (User Interface) to which the user has access. While the Backend is the logic that is coded and the user doesn't have any access to it. Backend testing is performed to find if the output is expected.
Most Widely used free tools for API Testing
Manual API Testing: POSTMAN
Automation API Testing: Rest Assured
Things to Know before learning API
What are Client and Server?
The client is the application through which we are accessing the application. Eg: Through the browser, we can access the amazon web application.
The client can be browsers, mobile applications, software.
The server is the physical server where the application is hosted and where the application is located. These are accessed through the internet.
Types of Client Server Architecture
1-Tier Architecture: When the application and the server are in a single system/ computer. Eg: Storing data in a notepad file in our local and accessing it in our local system.
2-Tier Architecture: When multiple clients or users are trying to access a database server that is present in some other computer. Eg: Bank Employees access the Bank application from different branches but the application will be centrally located having a common database. So irrespective of the branch location, employees can access the Bank software. And if you want to check your balance in the branch next to your home or the branch in some other location, the application shows the same balance.
3- Tier Architecture: Most of the application follows 3-Tier architecture. It has 3 layers namely Client Tier, Business Logic Tier, Database Tier. The business logic layer gets the request from clients from different sources and sends requests to the Database to fetch the requested data. Post getting the data, the business layer sends the response back to the Client tier as per the request.
Presentation Layer is the UI, which the user can access through a browser or application. Languages Used are HTML, JavaScript, CSS
Application Layer is the business logic layer where coding is done and takes the request from the presentation layer to the database layer and gets the response from the database layer and displays it in the UI. Languages used are Java, .NET, C#, Python, C++.
Database Layer is the database that contains all the data regarding the application. Databases like MySQL, MongoDB etc.