0% found this document useful (0 votes)
19 views

Software Construction Assignment

Uploaded by

shfatma00
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Software Construction Assignment

Uploaded by

shfatma00
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

NAME: Shafa Fatima

ROLLNO: b-25912
SUBJECT: Software Construction

ASSIGNMENT

Q#:1 What are different categories of static


and dynamic testing?
Static testing and dynamic testing are two broad categories of software testing, each with its own
subsets. Here's an overview:

Static Testing:
1. **Reviews**: This involves manual examination of code, requirements, design, and documentation.
Types of reviews include:

- **Code Review**: Reviewing source code for errors, compliance with coding standards, and
optimization.

- **Requirement Review**: Examining requirements documents to ensure they are clear, complete,
and consistent.

- **Design Review**: Evaluating system architecture and design for flaws, feasibility, and adherence
to design principles.

- **Document Review**: Inspecting project documentation such as user manuals, technical


specifications, and design documents.

2. **Static Analysis**: Automated analysis of the software code or documentation without executing it.
Types of static analysis include:

- **Syntax Checking**: Ensuring code follows the syntax rules of the programming language.

- **Code Metrics Analysis**: Measuring code complexity, size, and other metrics to assess
maintainability and quality.
- **Static Code Analysis**: Identifying potential defects, security vulnerabilities, and coding standards
violations using specialized tools.

- **Consistency Checking**: Verifying consistency across different artifacts such as requirements,


design, and code.

Dynamic Testing:
1. **Unit Testing**: Testing individual units or components of the software in isolation. It's often
automated and focuses on verifying the correctness of small code segments.

2. **Integration Testing**: Verifying interactions between different components/modules of the


software. It ensures that integrated units work together as expected.

3. **System Testing**: Testing the entire system as a whole to ensure it meets specified requirements.
It may include functional and non-functional testing to assess overall system behavior.

4. **Acceptance Testing**: Confirming that the system meets the user's requirements and is ready for
deployment. It includes:

- **User Acceptance Testing (UAT)**: End-users validate the system to ensure it meets their needs.

- **Alpha Testing**: Testing conducted by the development team before releasing the software to the
end-users.

- **Beta Testing**: Testing conducted by a selected group of end-users in a real environment before
the official release.

5. **Regression Testing**: Re-testing modified parts of the software to ensure that existing
functionalities are not affected by changes. It prevents the introduction of new defects.

6. **Performance Testing**: Evaluating the responsiveness, throughput, reliability, and scalability of the
software under various conditions. Types of performance testing include:

- **Load Testing**: Assessing system behavior under normal and peak load conditions.

- **Stress Testing**: Evaluating system behavior under extreme conditions to determine its breaking
point.

- **Scalability Testing**: Testing the system's ability to scale up or down to handle varying loads.
7. **Security Testing**: Assessing the security vulnerabilities of the software to ensure it is protected
against potential threats and attacks.

8. **Usability Testing**: Evaluating the software's user interface and overall user experience to ensure
it is intuitive and easy to use.

Each category of testing plays a crucial role in ensuring the quality, reliability, and security of software
applications.

You might also like