You are on page 1of 11

MEHRAN UNIVERSITY OF ENGINEERING AND TECHNOLOGY

Department of Software Engineering

Name: Tooba

Roll no: 19SW104

Subject: Software Quality Engineering (PRAC)

Submitted To: Ma’am Mehwish Shaikh


QUESTION 01: Brief and compare verification and validation in software engineering.

Verification: Verification is the process of evaluating software artifacts, such as design


documents, code, and requirements, to determine if they meet specified standards and
requirements. It involves checking the correctness of the software artifacts themselves without
executing the software. The goal of verification is to catch and fix errors early in the software
development life cycle, reducing the likelihood of defects in the final product. Verification
activities include inspections, reviews, walkthroughs, and static code analysis. It is a static
process as it involves examining the software artifacts without running the actual code.

Validation: Validation is the process of evaluating a software product to determine if it


satisfies the specified requirements and meets the customer's needs. It focuses on testing the
actual behavior and functionality of the software product by executing it. The goal of validation
is to ensure that the final software product fits for its intended purpose and meets user
expectations. Validation activities include dynamic testing such as unit testing, integration
testing, system testing, and user acceptance testing (UAT). It is a dynamic process as it involves
executing the software and observing its behavior during testing.
Both verification and validation are crucial for delivering high-quality and reliable software
products by ensuring that the software is built correctly and meets user requirements and
expectations.
Comparison:

Aspect Verification Validation


Purpose Ensures that software artifacts Ensures that the final software
are built correctly according to product meets the user's
specifications and standards. requirements and is fit for its
intended purpose.
Focus Software artifacts (e.g., code, Software product's behavior and
design, documentation). functionality.
Timing Performed early in the Performed later in the
development process, during development process, during
design and coding phases. testing and user acceptance
phases.
Process Type Static process that involves Dynamic process that involves
reviews and inspections of executing the software and
software artifacts without observing its behavior during
executing the code. testing.
Objective To identify and correct defects To ensure that the final product
early in the development is fit for its intended purpose
process. and meets user expectations.
Activities Inspections, reviews, Unit testing, integration testing,
walkthroughs, and static code system testing, and user
analysis. acceptance testing (UAT).
Involvement Involves checking the Involves evaluating the software
correctness of the software product's functionality and
artifacts themselves. behavior.
Questions Answered "Are we building the product, "Are we building the right
right?" product?"
Goal To catch and fix errors in the To confirm that the software
development process. satisfies the specified
requirements and meets user
needs.

QUESTION 02: Consider a scenario of developing a food ordering website, write the steps and
then get it peer-reviewed to verify whether the steps written meets the food ordering website
scenario or not
Scenario: Developing a Food Ordering Website

Steps:
1. User Registration:
The user visits the food ordering website and has the option to register for a new
account.
The user provides necessary details like name, email address, contact number, and sets
a password.
The system validates the information, ensuring the email address is unique, and then
creates the user account.
2. User Login:
Registered users can log in to the website using their email/username and password.
The system verifies the credentials and grants access to the user's account.
3. Browsing Menu:
After logging in, the user is directed to the homepage, where they can browse the
menu.
The menu displays various food items, categorized by type (e.g., appetizers, main
courses, desserts).
Each item shows details such as name, description, price, and possibly images.
4. Adding Items to Cart:
The user can select desired food items by clicking on them, which adds them to the cart.
In the cart, the user can adjust the quantity of each item or remove items as needed.
The cart shows the subtotal, applicable taxes, and the total order amount.
5. Placing the Order:
Once the user is satisfied with their cart, they proceed to the checkout page.
On the checkout page, the user confirms the delivery address and selects a payment
method.
The user may also have the option to apply any valid coupons or discounts.
After verifying all details, the user submits the order.
6. Order Confirmation:
The system processes the user's order and sends a confirmation message with the order
details to the user's email.
The user is provided with an estimated delivery time.
7. Real-time Order Tracking (Optional):
If available, the user can track their order in real-time using a tracking feature.
The system displays the order status (e.g., order received, preparation, out for delivery).
8. Payment Processing:
The chosen payment method is processed securely through a payment gateway.
The system verifies the payment and updates the order status accordingly.
9. Order Fulfillment:
The restaurant or food vendor receives the order and starts preparing it.
Once ready, the delivery personnel are assigned to pick up the order.
10. Delivery and Feedback:
The delivery person delivers the order to the address provided.
The user receives the food and has the option to provide feedback or rate the service.

Peer Review:

The steps provided for the food ordering website scenario are well-structured and
appear to cover the necessary functionalities of a typical food ordering platform. The
scenario begins with user registration and login, ensuring that users can create accounts
and access their personalized information. The menu browsing and cart management
functionalities are included, allowing users to select and manage their desired food
items efficiently.
The process of placing an order is outlined clearly, from confirming the delivery address
to selecting the payment method. The optional real-time order tracking is a great
addition for a more enhanced user experience, although it may not be available in all
food ordering websites.
The inclusion of payment processing and order fulfillment ensures a smooth transaction
process for users and restaurants/vendors alike. Lastly, the delivery and feedback steps
conclude the scenario, accounting for the final stages of the user journey.
Overall, the steps appear comprehensive and appropriately cover the main aspects of a
food ordering website scenario. However, it's essential to consider that the
implementation of such a system may involve additional complexities like user
authentication, data security, database management, and integration with third-party
services. Nevertheless, for the scope of the scenario presented, these steps are well-
written and aligned with the context of a food ordering website.

QUESTION03: Create the following table in MS Excel and validate the fields with
bounded list. If the inserted value is not in the list, an error message should pop up.
4. Write three simple code snippets to validate data using HTML.

Output:

NAME:
EMAIL:

PASSWORD:

QUESTION05: Create a registration form with the following required input fields. They are
as follows:
- Full Name
- Address
- CNIC
- Email
- Phone
- Date
- Username
- Password
For the above mentioned fields, create registration form and validate it using PHP code.
OUTPUT:

Question06:Create a software program of your choice, with at least three software


development documents (i.e. PRD, UIRD, QRD, TRD, SRS, etc. ). Perform verification and
validation of that software. You’ve this flexibility of writing the chosen software in any of the
available programming languages.
OUTPUT:

You might also like