1.
**Software Testing**: Software testing is the process of evaluating and
verifying that a software application or system meets specified requirements and
functions correctly.
2. **Manual vs. Automated Testing**: Manual testing involves human testers manually
executing test cases, while automated testing uses scripts and tools to perform
tests without human intervention.
3. **Advantages of Manual Testing**: Manual testing allows for human intuition and
exploratory testing, providing more flexibility in identifying subtle issues.
4. **Drawbacks of Manual Testing**: Manual testing is time-consuming, prone to
human error, and not easily repeatable or scalable for large test cases.
5. **SDLC (Software Development Life Cycle)**: SDLC is a process for planning,
creating, testing, and deploying an information system, consisting of several
stages such as planning, analysis, design, implementation, testing, deployment, and
maintenance.
6. **STLC (Software Testing Life Cycle)**: STLC is a sequence of activities
conducted to perform software testing, including phases like requirement analysis,
test planning, test case development, environment setup, test execution, and test
cycle closure.
7. **Test Case**: A test case is a set of conditions and steps used to determine if
a feature of an application is working correctly.
8. **Test Scenario**: A test scenario is a high-level description of a
functionality to be tested, derived from use cases and requirements.
9. **Test Data**: Test data is the data used in test cases to verify the
functionality and performance of software applications.
10. **Test Plan**: A test plan is a document outlining the scope, approach,
resources, and schedule for testing activities, detailing what will be tested and
how.
11. **Black Box Testing & White Box Testing**: Black box testing examines the
functionality of an application without looking at its internal structures, while
white box testing involves testing the internal structures or workings of an
application.
12. **Testbed**: A testbed is an environment configured for testing an application,
including hardware, software, and network configurations.
13. **Sanity Testing**: Sanity testing is a quick evaluation to ensure that a
particular function or bug fix works as expected without performing exhaustive
testing.
14. **Four Test Levels**: Unit testing, integration testing, system testing, and
acceptance testing.
15. **Software Testing Required**: It is essential to identify defects, ensure
quality, verify performance, and provide a reliable user experience.
16. **Levels of Manual Testing**: Unit testing, integration testing, system
testing, and user acceptance testing.
17. **Manual Testing Procedure**: The procedure includes requirement analysis, test
planning, test case development, environment setup, test execution, and test
closure.
18. **Regression Testing**: Regression testing ensures that new code changes do not
adversely affect existing functionalities of the software.
19. **Positive vs. Negative Testing**: Positive testing verifies that the system
works as expected with valid input, while negative testing checks how the system
handles invalid input.
20. **Defect Life Cycle**: The defect life cycle includes stages like
identification, logging, triage, assignment, fixing, retesting, and closure.
21. **Pesticide Paradox**: The phenomenon where repeated use of the same tests
reduces their effectiveness; overcome by regularly updating and varying test cases.
22. **System Testing**: System testing validates the complete and integrated
software product to ensure it meets the specified requirements.
23. **Acceptance Testing**: Acceptance testing evaluates the system's compliance
with business requirements and assesses whether it is ready for deployment.
24. **Bug Leakage vs. Bug Release**: Bug leakage occurs when defects are missed in
earlier stages but found by end-users, while bug release refers to known bugs that
are left in the system due to low priority.
25. **Smoke Testing vs. Sanity Testing**: Smoke testing checks basic functionality
of an application, while sanity testing focuses on verifying specific
functionalities after changes.
26. **Automation Testing Replace Manual Testing**: No, automation testing
complements but does not fully replace manual testing due to the need for human
intuition and exploratory testing.
27. **Regression vs. Retesting**: Regression testing checks for unintended effects
after changes, while retesting verifies fixes for specific defects.
28. **Agile Testing**: Agile testing involves continuous testing of software in
short iterative cycles as part of the Agile development methodology.
29. **Sprint in Agile Methodology**: A sprint is a set period during which specific
work has to be completed and made ready for review within Agile methodology.
30. **Daily Stand-Up Meetings Importance**: These meetings ensure team members are
aligned, issues are identified early, and progress is tracked daily.
31. **SQL**: SQL (Structured Query Language) is used for managing and manipulating
relational databases.
32. **Tables in SQL**: Tables are database objects that store data in rows and
columns, with each column representing a field and each row a record.
33. **DISTINCT Statement**: The DISTINCT statement is used to return only unique
values from a column in a SQL query, eliminating duplicates.
34. **SQL Clauses**: Common clauses include SELECT, WHERE, ORDER BY, GROUP BY,
HAVING, and JOIN.
35. **SQL JOINS**: Different types of joins include INNER JOIN, LEFT JOIN, RIGHT
JOIN, FULL OUTER JOIN, and CROSS JOIN.
36. **Aggregate Functions**: Functions like COUNT, SUM, AVG, MAX, and MIN used to
perform calculations on multiple values and return a single value.
37. **Subquery**: A subquery is a query nested inside another query, used to
perform operations that depend on the results of the outer query.
38. **DELETE vs. TRUNCATE**: DELETE removes specific rows based on a condition,
while TRUNCATE removes all rows from a table, resetting it to empty.
39. **DROP vs. TRUNCATE**: DROP deletes the entire table structure and its data,
while TRUNCATE only removes the data, preserving the table structure.
40. **View in SQL**: A view is a virtual table based on the result of a SELECT
query, allowing users to simplify complex queries and enhance security.