Client Server & Web Server, V&V Techniques.

Day 5-Session 1 Lavanya.M

Verification and Validation

• Verification – typically means conducting reviews and meetings to evaluate documents, plans, code, requirements and specifications – for example, checklists, issue lists, walkthroughs, and inspection meetings – Are we building the product RIGHT?

• Validation – typically means actual testing and takes place once verifications are completed – Are we building the RIGHT product?

Verification and Validation
S no. 1. Verification Verification is a static testing procedure. It involves verifying the requirements, detailed design documents, test plans, walkthroughs and inspections of various documents produced during the development and testing process. It is a preventive procedure. Are we building the product RIGHT? It involves more then two to three persons and is a group activity. It is also called Human testing, since it involves finding the errors by persons participating in a review or walk through. Validation Validation is dynamic testing procedure.

2.

Validation involves actual testing of the product as per the test plan (unit test, integration test, system test and acceptance test etc).

3. 4. 5.

It is a corrective procedure. Are we building the RIGHT product? It involves the testers and sometimes user. It is also called Computer testing, since errors are found out by testing the software on a computer.

6.

V and V difference
S no. 7. 8. Verification Verification occurs on Requirements, Design and code. Verification is made both in the Executable and Non Executable forms of a work product Verification finds errors early in the requirement & design phase and hence reduces the cost of errors. An effective tool for verification tool is a Checklist. It requires cooperation and scheduling of meetings and discussions. Verification tasks include: 1) Planning 2) Execution Validation Validation occurs only on code and the executable application. Validation is done only on Executable forms of a work product. Validation finds errors only during the testing stage and hence cost of errors reduced is less than Verification. Various manual and automated test tools are available for Validation. It is to check that the product satisfies the requirements and is accepted by the user. Validation tasks include: 1) Planning 2) Test ware Development 3) Test Execution 4) Test ware Maintenance

9.

10. 11.

12.

V and V difference
S no. 13. Verification Verification activities include: 1) Requirements Verification 2) Functional design verification 3) Internal Design Verification 4) Code Verification Validation Validation activities include: 1) Unit testing 2) Usability testing 3) Function testing 4) System testing 5) Acceptance testing

14.

Verification deliverables (work products) are: 1) Verification test plan 2) Inspection report 3) Verification test report

Validation deliverables are: 1) Test plan 2) Test Design Specification 3) Test Case Specification 4) Test Procedure Specification 5) Test log 6) Test incident report

Client Server
Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is a more important idea in a network. In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations. Computer transactions using the client/server model are very common A client is defined as a requester of services and a server is defined as the provider of services. A single machine can be both a client and a server depending on the software configuration.

Examples of Client Server
Generally in client server, you have to install two types of setup. Client Setup – Giving Input and output. Server Setup – Database setup. Example: • MS – SQL • Oracle Win runner…etc.

Web Server
A computer that delivers (serves up) Web pages. Every Web server has an IP address and possibly a domain name. For example, if you enter the URL http://www.pcwebopedia.com/index.html in your browser, this sends a request to the server whose domain name is pcwebopedia.com. The server then fetches the page named index.html and sends it to your browser. Any computer can be turned into a Web server by installing server software and connecting the machine to the Internet

Different Types of Architecture.
Mainframe architecture File sharing architecture (not a client/server architecture ) Two tier architectures. Three tier architectures. Three tier architecture with transaction processing monitor technology. Three tier with message server. Three tier with an application server. Three tier with an ORB architecture ( Object Request Broker). Distributed/collaborative enterprise architecture.

Two Tire Architecture
Two tier architectures consist of three components distributed in two layers: client (requester of services) and server (provider of services). The three components are User System Interface (such as session, text input, dialog, and display management services) Processing Management (such as process development, process enactment, process monitoring, and process resource services) Database Management (such as data and file services) The two tier design allocates the user system interface exclusively to the client. It places database management on the server and splits the processing management between client and server, creating two layers

Diagram

Three Tire Architecture.
In the three tier architecture, a middle tier was added between the user system interface client environment and the database management server environment. There are a variety of ways of implementing this middle tier, such as transaction processing monitors, message servers, or application servers. The middle tier can perform queuing, application execution, and database staging. For example, if the middle tier provides queuing, the client can deliver its request to the middle layer and disengage because the middle tier will access the data and return the answer to the client. In addition the middle layer adds scheduling and prioritization for work in progress. The three tier client/server architecture has been shown to improve performance for groups with a large number of users (in the thousands) and improves flexibility when compared to the two tier approach

Limitation
A limitation with three tier architectures is that the development environment is reportedly more difficult to use than the visually-oriented development of two tier applications]. Note: Recently, mainframes have found a new use as servers in three tier architectures

Diagram

File Sharing Architecture.
The original PC networks were based on file sharing architectures, where the server downloads files from the shared location to the desktop environment. The requested user job is then run (including logic and data) in the desktop environment. File sharing architectures work if shared usage is low, update contention is low, and the volume of data to be transferred is low. In the 1990s, PC LAN (local area network) computing changed because the capacity of the file sharing was strained as the number of online user grew (it can only satisfy about 12 users simultaneously) and graphical user interfaces (GUIs) became popular (making mainframe and terminal displays appear out of date). PCs are now being used in client/server architectures.

Testing in Server.
For the Client/Server load testing, some common objectives include: Measuring the length of time to complete an entire task Discovering which hardware/software configuration provides optimal performance Tuning database queries for optimal response Capturing Mean-Time-To-Failure as a measure of reliability Measuring system capacity to handle loads without performance degradation Identifying performance bottleneck

Exercise
1. Which of the following is the odd one out? a. white box b. glass box c. structural d. Functional 2. Which of the following is a black box test design technique? a. statement testing b. equivalence partitioning c. Conditional testing d. usability testing 3.Which of the following is NOT an integration strategy? a. Design-based b. Big-bang c. Bottom-up d. Top-down

Exercise
4.Which of the following is a static test? a. code inspection b. coverage analysis c. usability assessment d. installation test 5. A test design technique is a. a process for selecting test cases b. a process for determining expected outputs c. a way to measure the quality of software d. a way to describe in a test plan what has to be done e. all of the above 6. Briefly describe about SDLC & Bug Life cycle. 7. Tell about Types of Testing.

Sign up to vote on this title
UsefulNot useful