! Flashcards
What is black box testing
In black box testing, a software program is treated as a box that hides the internal processes; hence Black Box. The tester pretends he cannot see into it. He feeds the program with various inputs and observes outputs. Those inputs, of course, represent the class of inputs most likely to expose an error in the program.
What is the difference between the severity of a bug and the priority of a bug?
A priority is based on how urgently the bug needs to be fixed. The factors to consider are what other bugs that need to be fixed, and how important is this bug relative to the others. A severity measures the impact of the bug on the application. How much damage it can cause? Priority is all about business, while severity is technical.
What is the difference between unit testing and integration testing?
A developer will perform unit testing on the modules they have changed independently of each other. Integration testing involves testing communication between modules combined in one system.
What is the difference between validation and verification testing
- Verification testing focuses on the testing of ‘ideas’ and does not involve executing the code.
- Validation is a process of evaluating a system or component to determine whether it satisfies specified requirements. Validation testing involves running the code.
What are the objectives of testing?
• To detect problems in a software.
o You need to locate as many errors as possible.
o The more errors with higher severity, the better.
o The objective of finding errors is to get them fixed.
Other objectives of testing are:
• To provide information about the level of quality.
• To prevent defects.
• To make sure that the end result meets the business and user requirements.
• To gain the confidence of the customers by providing them a quality product.
Is it possible to find all the bugs in a software?
No, there are just too many possible combinations of inputs and paths to fully test the program.
What are the objectives of QA Department in a software company?
- Verification testing
- Validation testing
- Establishing and enforcing test procedures (maintain test cases, report bugs, test automation)
What is the difference between Quality Assurance and Testing?
Quality assurance is the process of monitoring the software development process in order to ‘prevent’ possible errors. Software testing is a subset of quality assurance. It is oriented to ‘finding’ errors in a software.
What are the properties of a good requirement?
- Complete
- Compatible
- Achievable
- Reasonable
- Testable
What sort of things would you put down in a bug report?
- Short Description
- Full Description
- Steps to reproduce
- Status
- Severity
- Initially proposed Priority (should be then reviewed and changed if needed by Lead developer, manager or triage meeting)
- Date found
- Test environment variables (build number, OS version, database version, etc.)
- Whom bug assigned to
List 5 types of testing that are specific to web applications only and not applicable to client server or desktop applications
- Compatibility Testing on different browsers (i.e.Microsoft Edge, Internet Explorer, Google Chrome, Mozilla Firefox, Safari, Opera, etc.)
- Testing web application running on standalone appserver vs. cluster appserver (clustering is a technique used for parallel processing, load balancing and fault tolerance)
- Testing a web application using SSL connection (uses a cryptographic system that uses two keys to encrypt data − a public key known to everyone and a private or secret key known only to the recipient of the message. Majority of modern browsers support SSL, and many Web sites use the protocol to obtain confidential user information, such as credit card numbers. By convention, URLs that require an SSL connection start with https: instead of http:.)
- Web Site Accessibility testing. (Verify Web site conforms to Web accessibility guidelines.)
- Performance/load/stress testing of a big scale
How do you know when to stop testing?
Common factors in deciding where to stop are:
• Deadlines, e.g. release deadlines, testing deadlines
• Execution of test cases completed with certain percentage passed
• Coverage of code, functionality, or requirements reaches a specified point
• Bug rate falls below a certain level
• Test budget has been depleted
What is Defect Clustering
Any small module or functionality may contain larger than other modules number of defects (Pareto principle) – concentrate more testing on these functionality.
What is Build?
When each of the different modules of software is prepared, they are put in a single folder by the Configuration Management Team and it is called the ‘Build’. In other word, the developers put their code in the shared location (folder) and all those code (modules) are combined together so that it is a complete application that works.
Can I have multiple primary keys in a single table?
No, you can only have one primary key per table. At the same time primary key can be made from two or more columns in some situations. Such primary key called Composite Primary Key.