Se Mid Ii
Se Mid Ii
UNIT – 4
2. Write the di erence between white box testing and black box testing with am example?
4. Explain the concept of software measurement and its importance in software engineering.
5. Write about
UNIT – 5
15. What is the need of Risk Management and explain various activities connected to Risk
Management?
UNIT – 3
Direction of Follows a top-down time sequence Does not follow any time
Flow (from top to bottom showing when sequence. It shows the
messages are sent and received). association between actors
and use cases.
A UML Collaboration Diagram (also called a Communication Diagram) models the interactions
between objects or actors in a system, focusing on their relationships and the flow of messages
needed to realize a particular use case—such as withdrawing cash from an ATM1236.
Messages: Arrows labeled with sequence numbers (e.g., 1, 2, 3...) to show the order of
interactions. Each message represents a method call or data exchange between
objects256.
text
o Message: 1: insertCard()
o Message: 2: promptForPIN()
o Message: 3: enterPIN()
o Message: 4: verifyPIN(pin)
o Message: 5: checkPIN(pin)
o Message: 6: verificationResult()
o Message: 7: selectTransaction(type)
o Message: 9: authorizeWithdrawal(amount)
Each message is numbered to indicate the sequence, and arrows show the direction of
communication between objects
Explanation
The Customer interacts with the ATM by inserting a card, entering a PIN, and selecting a
transaction.
The ATM acts as an intermediary, sending the PIN and transaction details to the Bank for
validation and authorization.
The Bank communicates with the Database to check the PIN and account balance.
If the transaction is authorized, the ATM dispenses cash and updates the account
balance via the Bank and Database256.
Diagram Characteristics
Collaboration diagrams emphasize the structural organization of objects and their links,
rather than the time sequence (which is the focus of sequence diagrams).
Useful for visualizing how objects cooperate to perform a specific function in the
system, such as a cash withdrawal in an ATM126.
9. Briefly explain Conceptual model of UML?
https://www.geeksforgeeks.org/conceptual-model-of-the-unified-modeling-language-uml/
https://www.geeksforgeeks.org/unified-modeling-language-uml-activity-diagrams/
UNIT – 4
2. Write the di erence between white box testing and black box testing with am example?
https://www.geeksforgeeks.org/di erences-between-black-box-testing-vs-white-box-testing/
4. Explain the concept of software measurement and its importance in software engineering.
https://www.geeksforgeeks.org/software-measurement-and-metrics/
5. Write about
System testing is a high-level testing phase where the complete and integrated software system
is tested as a whole. The purpose is to validate the end-to-end functionality of the system,
ensuring it behaves as expected under various conditions.
System testing is conducted after integration testing and before acceptance testing. It is a black-
box testing technique, which means the tester doesn't need to know the internal code or
structure of the application. The focus is on evaluating the system’s compliance with the
specified requirements.
Ensuring the system meets quality standards and behaves correctly in di erent
scenarios.
System testing includes various sub-types like usability testing, regression testing, and
compatibility testing. It is crucial for identifying any defects that might have been missed in earlier
testing stages.
Recovery testing checks how well a software application can recover from crashes, hardware
failures, network issues, or other unexpected problems. The main goal is to determine
whether the system can return to a normal state and recover lost data or resume operations after
a failure.
Verifying whether it can maintain data integrity and resume normal functionality.
Recovery testing is essential for applications where high availability and fault tolerance are
important, such as in banking, aviation, or healthcare systems. It also helps ensure that proper
backup and failover mechanisms are in place.
Stress testing is a type of performance testing that evaluates how the software behaves under
extreme conditions or beyond its normal operational limits. This includes excessive load, data
volume, or user tra ic to identify the system's breaking point.
Determine the stability and robustness of the system under heavy load.
Identify memory leaks, bottlenecks, or failures that may occur under stress.
For example, in an e-commerce website, stress testing would check if the site can handle a large
number of users during a big sale or festival season. It helps organizations prepare for high-
demand scenarios and improves the system’s reliability.
Performance testing involves evaluating the speed, responsiveness, stability, and scalability
of a software application under a certain workload. The goal is to identify performance-related
issues before the software goes into production.
Performance testing is essential to ensure a smooth user experience and helps identify any
performance bottlenecks in the software architecture.
(e) Acceptance Testing
Acceptance testing is the final phase of software testing, conducted to determine whether the
software is ready for delivery to the end-users or customers. It validates the system against the
business requirements and ensures it meets the expectations of stakeholders.
Alpha Testing: Performed by internal sta before releasing the product to external users.
Acceptance testing is usually carried out by the client or customer and is critical for ensuring
customer satisfaction. It verifies whether:
Successful acceptance testing leads to the formal acceptance of the product and its release into
production.
Security testing includes tools like penetration testing, vulnerability scanning, and ethical
hacking. It plays a vital role in protecting the software from cyberattacks and complying with
industry standards such as GDPR, HIPAA, or PCI-DSS.
Conclusion
Each type of testing mentioned plays a crucial role in delivering high-quality, robust, and secure
software systems. While system testing ensures overall functionality, recovery and stress testing
validate reliability under unexpected conditions. Performance testing guarantees e icient
operation, acceptance testing ensures client satisfaction, and security testing protects against
threats. Together, they form a comprehensive software testing strategy essential for any
successful software development lifecycle.
https://www.geeksforgeeks.org/software-testing-basics/
https://www.geeksforgeeks.org/product-metrics-in-software-engineering/
https://www.geeksforgeeks.org/software-engineering-integration-testing/
https://www.geeksforgeeks.org/measuring-software-quality-using-quality-metrics/
https://www.geeksforgeeks.org/product-metrics-in-software-engineering/
https://www.geeksforgeeks.org/software-engineering-debugging/
UNIT – 5
https://www.geeksforgeeks.org/risk-mitigation-monitoring-and-management-rmmm-plan/
https://www.geeksforgeeks.org/iso-9000-certification-in-software-engineering/
https://www.geeksforgeeks.org/formal-technical-review-ftr-in-software-engineering/
15. What is the need of Risk Management and explain various activities connected to Risk
Management?
https://www.geeksforgeeks.org/risk-management-software-engineering/
1. Di erentiate between a class diagram and an object diagram:
A class diagram in UML represents the static structure of a system, showing classes, their
attributes, methods, and the relationships between them.
An object diagram is a snapshot of a system at a particular moment, representing real instances
(objects) of classes and their links.
Class diagrams are used for design; object diagrams are used for system states.
o White-box testing: Tests internal logic, paths, and structure of the code.
These two strategies complement each other for thorough testing.
7. Write about ISO: 9126 quality factors:
ISO 9126 defines six major software quality characteristics:
15. What does the term "association" mean in a UML class diagram?
Association represents a relationship between two classes, such as a "works-for" or "owns"
relationship.
It shows how objects of one class interact or are related to objects of another class.
Incorrect/missing functions
Interface errors
18. What are risk identification, and what techniques can be used for it?
Risk identification is the process of determining potential risks in a project.
Techniques include brainstorming, expert interviews, checklists, SWOT analysis, and historical
data analysis.
Verification ensures the product was built correctly by checking design and specifications.
Validation ensures the correct product was built by checking if it meets user needs.
Verification is process-focused; validation is product-focused.
20. Write the di erence between Reactive and Proactive risk strategies:
Reactive: Deals with risks after they occur (e.g., applying patches post-failure).
Proactive: Identifies and plans for risks before they happen (e.g., risk avoidance strategies).