Which type of testing focuses on the interfaces between units and components?
- Functional Testing
- Interface Testing
- System Testing
- Unit Testing
Interface Testing specifically focuses on ensuring that the interfaces or interactions between units or components work correctly. This includes checking data flow, error conditions, and coordination processes between interconnected modules.
Which type of attack tries multiple combinations of credentials to gain unauthorized access and can be detected through security testing?
- Brute Force Attack
- Cross-Site Scripting
- Phishing Attack
- SQL Injection
A Brute Force Attack involves cybercriminals systematically attempting all possible combinations of passwords or encryption keys until the correct one is found. Through security testing, repeated failed login attempts or unusual system calls can be detected, signifying potential brute force attempts.
Consider you are a security tester for a new web application. You identify a potential vulnerability that allows for data injection into the system. What type of vulnerability have you likely found?
- Buffer Overflow
- Cross-site Scripting (XSS)
- Distributed Denial of Service (DDoS)
- SQL Injection
SQL Injection is a type of vulnerability that allows attackers to inject malicious SQL code into an application, thereby gaining unauthorized access to a database and fetching/altering its contents. While XSS and Buffer Overflows are vulnerabilities, they aren't typically associated with direct data injection into databases.
Imagine you've implemented CI/CD in your project, and the build breaks often, causing delays. What steps can be taken to minimize the build breakages and ensure seamless integration?
- Adopt a trunk-based development approach
- Increase manual testing efforts
- Limit the frequency of commits
- Prioritize fixing broken builds
Prioritizing fixing broken builds ensures that whenever a build breaks, it becomes the top priority for the team to address. By resolving build issues immediately, it reduces the chances of compounded issues later on. This practice creates a culture of accountability and immediate feedback, ensuring that the CI/CD process remains smooth and that broken builds are addressed promptly.
The process where real users try out prototypes of the design to identify usability flaws before the design is finalized is called _______.
- Alpha Testing
- Prototype Testing
- Usability Testing
- User Experience Testing
Usability Testing is a technique used to evaluate a product by testing it on users. In this phase, real users interact with prototypes of the design to uncover potential usability flaws. This helps ensure that the end product is user-friendly and offers a good user experience before finalizing the design.
Which type of testing involves gathering feedback directly from potential users about how they feel when using an application?
- Beta Testing
- Integration Testing
- Regression Testing
- Stress Testing
Beta Testing is a phase where the software is exposed to the real-world potential users before the final release. It's a type of User Acceptance Testing (UAT) where actual users use the software and provide direct feedback. This feedback can be related to functionality, usability, performance, or any other aspect of the software.
Consistency in design, clear error messages, and meaningful feedback are primarily evaluated in _______ testing.
- Functionality Testing
- Performance Testing
- Security Testing
- Usability Testing
Usability Testing not only evaluates the ease of use of a product but also examines its overall user interface, ensuring there's consistency in design, clear error messaging, and providing meaningful feedback. This ensures a seamless, user-friendly experience for the end-user.
While automated tests are excellent for repetitive tasks, _______ testing is often needed for exploratory and usability checks.
- black-box
- load
- manual
- white-box
While automated tests can efficiently handle repetitive tasks, manual testing is indispensable for exploratory testing (where testers actively explore the application to identify issues) and usability checks to ensure a user-friendly experience.
The bug status that signifies that the bug is currently being worked upon to be resolved is termed as _______.
- Assigned
- Closed
- Open
- Verified
The "Assigned" bug status signifies that the bug has been assigned to a developer and is currently being addressed. "Open" means the bug has been recognized but might not be attended to yet. "Closed" denotes that the bug has been resolved. "Verified" signifies that the tester has verified the fix.
How does cyclomatic complexity assist in white-box testing?
- Assesses risk in code logic
- Counts number of defects
- Determines code coverage needs
- Measures code readability
Cyclomatic complexity, introduced by Thomas McCabe, quantifies the complexity of a program by calculating the number of linearly independent paths through the source code. A higher cyclomatic value indicates a complex program with many branches, which may require more extensive testing to ensure each path is evaluated. It aids testers in assessing risks associated with the intricate logic of the code.