SE Assignment
SE Assignment
Answer:
System testing involves testing the complete and integrated software application to ensure it meets specified
requirements. An example of system testing can be seen in an e-commerce application. In this scenario, the system
testing might include:
- User Registration and Login: Verifying that new users can create accounts and existing users can log in successfully.
- Product Search and Filter: Testing the search functionality to ensure users can find products using keywords and
applying filters (e.g., by category or price).
- Shopping Cart Functionality: Ensuring that users can add and remove items from the cart, adjust quantities, and
see real-time updates to the cart total.
- Checkout Process: Validating the entire checkout process, including payment processing and order confirmation.
- Performance Testing: Assessing how the system performs under different loads, such as during peak shopping
times.
- Security Testing: Checking for vulnerabilities such as SQL injection and ensuring that sensitive information is
protected.
2. Does unit testing come under black box testing or white box testing?
Answer:
Unit testing is primarily categorized as white box testing. This is because unit testing focuses on testing individual
components or functions of the code while considering the internal workings of the application. Testers create test
cases based on the code's structure, logic, and implementation details. In contrast, black box testing evaluates the
application's functionality without any knowledge of the internal code structure, focusing solely on inputs and
expected outputs.
- Quality Assurance (QA): A process-oriented approach focusing on preventing defects in processes and ensuring
quality standards are met.
- Quality Control (QC): A product-oriented approach focusing on identifying defects in the final product.
- Goal:
- Activities:
- QA: Involves process definition, implementation, training, audits, and process monitoring.
- Responsibility:
- Timing:
Answer:
Data re-engineering is the process of restructuring existing data to improve its organization, efficiency, and usability.
This may involve several activities, including:
- Data Transformation: Changing data formats or structures to meet new requirements or to integrate with new
systems.
- Data Integration: Combining data from different sources into a cohesive dataset to facilitate analysis.
- Data Cleansing: Identifying and correcting inaccuracies and inconsistencies in the data to enhance its quality.
- Data Migration: Moving data from one system to another while ensuring data integrity and security.
Data re-engineering is essential for organizations that need to modernize their data systems, improve analytics
capabilities, or comply with new regulatory requirements.
5. Distinguish between software and data re-engineering as well as explain the problems
of data re-engineering.
Answer:
Software Re-engineering and Data Re-engineering are distinct processes within software and data management:
- Software Re-engineering:
- Focuses on modifying existing software to improve its performance, maintainability, or adapt it to new
requirements.
- Involves activities such as reverse engineering, code refactoring, and re-architecting.
- Data Re-engineering:
- Specifically addresses the restructuring of data to enhance its quality, usability, and integration with other
systems.
- Data Quality Issues: Existing data may contain inaccuracies or inconsistencies, complicating the re-engineering
process.
- Complexity: Understanding the architecture of legacy data systems can be challenging, particularly if
documentation is lacking.
- Resource Intensive: The process can require significant time, skilled personnel, and technology investments, which
may strain budgets.
- Resistance to Change: Stakeholders may resist changes to established data processes, leading to challenges during
implementation.
- Integration Challenges: Merging data from various sources can introduce conflicts in formats, making it difficult to
create a unified dataset.