Answer: i. Organizing and controlling the Testing process. ii. Ensuring visibility, traceability, and control of testing process to deliver high-quality software. 2) What are the key strategies for effective test management, explain each strategy? a. Prioritize test cases for efficiency and quality i. It’s vital to prioritize testing by relevancy and not perform testing that is irrelevant. Without proper planning, testing can be one of the most expensive phases of the development lifecycle. To determine test case relevancy, trace test efforts to the documented primary objectives of the product or system and prioritize test plans from there. Managing all levels of test cases and maintaining their traceability to objectives and requirements is very important from a relevance standpoint, and prevents costly tests of functionality that may be lower priority or even changed or deprecated from the product.
b. Realize value from your test strategy
ii. It is very important to conduct reporting and analysis of test results that is deep enough to realize the value of the test strategy. In testing, not only do we want to confirm that we’ve met the objectives of our requirements for the product or system, but we also want to learn new things during all phases of testing. New requirements should be captured as part of results analysis, and these should be incorporated into the next phase of product development. Value from testing is realized by incorporating the results of the test strategy into the product strategy. Testing is the mechanism that proves whether the product strategy is effective.
c. Early and frequent testing allows for innovation
iii. Conducting some form of testing, at every stage of the product development lifecycle, is highly recommended. While it may be time consuming to coordinate stakeholders and then collect and analyse data, getting the right feedback at the right time ensures that you can deliver a high-quality product on time. In the early stages of development, performing customer exploratory testing is the most cost-effective way to make sure your product strategy is on the mark. Moreover, fostering collaboration between developers and the customer early on — an Agile best practice — allows for instant feedback that gives development teams the clarity they need to iterate and generate more innovation in the product. At the end of the development lifecycle, conduct system integration tests to ensure components are working harmoniously. Unit tests are beneficial to test various inputs and outputs, performance characteristics, and boundary limits, whether you’re building a hardware or software system. 3) What is test case design? A test case is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly. The process of developing test cases can also help find problems in the requirements or design of an application. 4) How to effectively design the test cases? Please explain. There are levels in which each test case will fall in order to avoid duplication efforts. Level 1: In this level, you will write the basic test cases from the available specification and user documentation. Level 2: This is the practical stage in which writing test cases depend on actual functional and system flow of the application. Level 3: This is the stage in which you will group some test cases and write a test procedure. The test procedure is nothing but a group of small test cases maximum of 10. Level 4: Automation of the project. This will minimize human interaction with the system and thus QA can focus on currently updated functionalities to test rather than remaining busy with regression testing. 5) What is Audit Plan? Explain the pitfall of software audit. A software audit review, or software audit, is a type of software review in which one or more auditors who are not members of the software development organization conduct "An independent examination of a software product, software process, or set of software processes to assess compliance with specifications, standards, contractual agreements, or other criteria"( IEEE Std. 1028-1997, IEEE Standard for Software Reviews, clause 3.2) "The purpose of a software audit is to provide an independent evaluation of conformance of software products and processes to applicable regulations, standards, guidelines, plans, and procedures".( IEEE Std. 10281997, clause 8.1) The following roles are recommended: The Initiator (who might be a manager in the audited organization, a customer or user representative of the audited organization, or a third party), decides upon the need for an audit, establishes its purpose and scope, specifies the evaluation criteria, identifies the audit personnel, decides what follow-up actions will be required, and distributes the audit report. The Lead Auditor (who must be someone "free from bias and influence that could reduce his ability to make independent, objective evaluations") is responsible for administrative tasks such as preparing the audit plan and assembling and managing the audit team, and for ensuring that the audit meets its objectives. The Recorder documents anomalies, action items, decisions, and recommendations made by the audit team. The Auditors (who must be, like the Lead Auditor, free from bias) examine products defined in the audit plan, document their observations, and recommend corrective actions. (There may be only a single auditor.) The Audited Organization provides a liaison to the auditors, and provides all information requested by the auditors. When the audit is completed, the audited organization should implement corrective actions and recommendations.