SoftwareQAandTestingFrequently-Asked-Questions_PartTwo.doc

上传人:sk****8 文档编号:3520620 上传时间:2019-06-01 格式:DOC 页数:11 大小:77.50KB
下载 相关 举报
SoftwareQAandTestingFrequently-Asked-Questions_PartTwo.doc_第1页
第1页 / 共11页
SoftwareQAandTestingFrequently-Asked-Questions_PartTwo.doc_第2页
第2页 / 共11页
SoftwareQAandTestingFrequently-Asked-Questions_PartTwo.doc_第3页
第3页 / 共11页
SoftwareQAandTestingFrequently-Asked-Questions_PartTwo.doc_第4页
第4页 / 共11页
SoftwareQAandTestingFrequently-Asked-Questions_PartTwo.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、What makes a good Software Test engineer? A good test engineer has a test to break attitude, an ability to take the point of view of the customer, a strong desire for quality, and an attention to detail. To act and diplomacy are useful in maintaining a cooperative relationship with developers, and a

2、n ability to communicate with both technical (developers) and non-technical (customers, management) people is useful. Previous software development experience can be helpful as it provides a deeper understanding of the software development process, gives the tester an appreciation for the developers

3、 point of view, and reduce the learning curve in automated test tool programming. Judgement skills are needed to assess high-risk areas of an application on which to focus testing efforts when time is limited. Return to top of this pages FAQ list What makes a good Software QA engineer? The same qual

4、ities a good tester has are useful for a QA engineer. Additionally, they must be able to understand the entire software development process and how it can fit into the business approach and goals of the organization. Communication skills and the ability to understand various sides of issues are impo

5、rtant. In organizations in the early stages of implementing QA processes, patience and diplomacy are especially needed. An ability to find problems as well as to see whats missing is important for inspections and reviews. Return to top of this pages FAQ list What makes a good QA or Test manager? A g

6、ood QA, test, or QA/Test(combined) manager should: be familiar with the software development process be able to maintain enthusiasm of their team and promote a positive atmosphere, despite what is a somewhat negative process (e.g., looking for or preventing problems) be able to promote teamwork to i

7、ncrease productivity be able to promote cooperation between software, test, and QA engineers have the diplomatic skills needed to promote improvements in QA processes have the ability to withstand pressures and say no to other managers when quality is insufficient or QA processes are not being adher

8、ed to have people judgement skills for hiring and keeping skilled personnel be able to communicate with technical and non-technical people, engineers, managers, and customers. be able to run meetings and keep them focused Return to top of this pages FAQ list Whats the role of documentation in QA? Cr

9、itical. (Note that documentation can be electronic, not necessarily paper, may be embedded in code comments, etc.) QA practices should be documented such that they are repeatable. Specifications, designs, business rules, inspection reports, configurations, code changes, test plans, test cases, bug r

10、eports, user manuals, etc. should all be documented in some form. There should ideally be a system for easily finding and obtaining information and determining what documentation will have a particular piece of information. Change management for documentation should be used if possible. Return to to

11、p of this pages FAQ list Whats the big deal about requirements? One of the most reliable methods of ensuring problems, or failure, in a large, complex software project is to have poorly documented requirements specifications. Requirements are the details describing an applications externally-perceiv

12、ed functionality and properties. Requirements should be clear, complete, reasonably detailed, cohesive, attainable, and testable. A non-testable requirement would be, for example, user-friendly (too subjective). A testable requirement would be something like the user must enter their previously-assi

13、gned password to access the application. Determining and organizing requirements details in a useful and efficient way can be a difficult effort; different methods are available depending on the particular project. Many books are available that describe various approaches to this task. (See the Book

14、store sections Software Requirements Engineering category for books on Software Requirements.) Care should be taken to involve ALL of a projects significant customers in the requirements process. Customers could be in-house personnel or out, and could include end-users, customer acceptance testers,

15、customer contract officers, customer management, future software maintenance engineers, salespeople, etc. Anyone who could later derail the project if their expectations arent met should be included if possible. Organizations vary considerably in their handling of requirements specifications. Ideall

16、y, the requirements are spelled out in a document with statements such as The product shall. Design specifications should not be confused with requirements; design specifications should be traceable back to the requirements. In some organizations requirements may end up in high level project plans,

17、functional specification documents, in design documents, or in other documents at various levels of detail. No matter what they are called, some type of documentation with detailed requirements will be needed by testers in order to properly plan and execute tests. Without such documentation, there w

18、ill be no clear-cut way to determine if a software application is performing correctly. Agile methods such as XP use methods requiring close interaction and cooperation between programmers and customers/end-users to iteratively develop requirements. In the XP test first approach developmers create a

19、utomated unit testing code before the application code, and these automated unit tests essentially embody the requirements. Return to top of this pages FAQ list What steps are needed to develop and run software tests? The following are some of the steps to consider: Obtain requirements, functional d

20、esign, and internal design specifications and other necessary documents Obtain budget and schedule requirements Determine project-related personnel and their responsibilities, reporting requirements, required standards and processes (such as release processes, change processes, etc.) Determine proje

21、ct context, relative to the existing quality culture of the organization and business, and how it might impact testing scope, aproaches, and methods. Identify applications higher-risk aspects, set priorities, and determine scope and limitations of tests Determine test approaches and methods - unit,

22、integration, functional, system, load, usability tests, etc. Determine test environment requirements (hardware, software, communications, etc.) Determine testware requirements (record/playback tools, coverage analyzers, test tracking, problem/bug tracking, etc.) Determine test input data requirement

23、s Identify tasks, those responsible for tasks, and labor requirements Set schedule estimates, timelines, milestones Determine input equivalence classes, boundary value analyses, error classes Prepare test plan document and have needed reviews/approvals Write test cases Have needed reviews/inspection

24、s/approvals of test cases Prepare test environment and testware, obtain needed user manuals/reference documents/configuration guides/installation guides, set up test tracking processes, set up logging and archiving processes, set up or obtain test input data Obtain and install software releases Perf

25、orm tests Evaluate and report results Track problems/bugs and fixes Retest as needed Maintain and update test plans, test cases, test environment, and testware through life cycle Return to top of this pages FAQ list Whats a test plan? A software project test plan is a document that describes the obj

26、ectives, scope, approach, and focus of a software testing effort. The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. The completed document will help people outside the test group understand the why and how of

27、 product validation. It should be thorough enough to be useful but not so thorough that no one outside the test group will read it. The following are some of the items that might be included in a test plan, depending on the particular project: Title Identification of software including version/relea

28、se numbers Revision history of document including authors, dates, approvals Table of Contents Purpose of document, intended audience Objective of testing effort Software product overview Relevant related document list, such as requirements, design documents, other test plans, etc. Relevant standards

29、 or legal requirements Traceability requirements Relevant naming conventions and identifier conventions Overall software project organization and personnel/contact-info/responsibilties Test organization and personnel/contact-info/responsibilities Assumptions and dependencies Project risk analysis Te

30、sting priorities and focus Scope and limitations of testing Test outline - a decomposition of the test approach by test type, feature, functionality, process, system, module, etc. as applicable Outline of data input equivalence classes, boundary value analysis, error classes Test environment - hardw

31、are, operating systems, other required software, data configurations, interfaces to other systems Test environment validity analysis - differences between the test and production systems and their impact on test validity. Test environment setup and configuration issues Software migration processes S

32、oftware CM processes Test data setup requirements Database setup requirements Outline of system-logging/error-logging/other capabilities, and tools such as screen capture software, that will be used to help describe and report bugs Discussion of any specialized software or hardware tools that will b

33、e used by testers to help track the cause or source of bugs Test automation - justification and overview Test tools to be used, including versions, patches, etc. Test script/test code maintenance processes and version control Problem tracking and resolution - tools and processes Project test metrics

34、 to be used Reporting requirements and testing deliverables Software entrance and exit criteria Initial sanity testing period and criteria Test suspension and restart criteria Personnel allocation Personnel pre-training needs Test site/location Outside test organizations to be utilized and their pur

35、pose, responsibilties, deliverables, contact persons, and coordination issues Relevant proprietary, classified, security, and licensing issues. Open issues Appendix - glossary, acronyms, etc. (See the Bookstore sections Software Testing and Software QA categories for useful books with more informati

36、on.) Return to top of this pages FAQ list Whats a test case? A test case is a document that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly. A test case should contain particulars such as test case identifier, test case

37、name, objective, test conditions/setup, input data requirements, steps, and expected results. Note that the process of developing test cases can help find problems in the requirements or design of an application, since it requires completely thinking through the operation of the application. For thi

38、s reason, its useful to prepare test cases early in the development cycle if possible. Return to top of this pages FAQ list What should be done after a bug is found? The bug needs to be communicated and assigned to developers that can fix it. After the problem is resolved, fixes should be re-tested,

39、 and determinations made regarding requirements for regression testing to check that fixes didnt create problems elsewhere. If a problem-tracking system is in place, it should encapsulate these processes. A variety of commercial problem-tracking/management software tools are available (see the Tools

40、 section for web resources with listings of such tools). The following are items to consider in the tracking process: Complete information such that developers can understand the bug, get an idea of its severity, and reproduce it if necessary. Bug identifier (number, ID, etc.) Current bug status (e.

41、g., Released for Retest, New, etc.) The application name or identifier and version The function, module, feature, object, screen, etc. where the bug occurred Environment specifics, system, platform, relevant hardware specifics Test case name/number/identifier One-line bug description Full bug descri

42、ption Description of steps needed to reproduce the bug if not covered by a test case or if the developer doesnt have easy access to the test case/test script/test tool Names and/or descriptions of file/data/messages/etc. used in test File excerpts/error messages/log file excerpts/screen shots/test t

43、ool logs that would be helpful in finding the cause of the problem Severity estimate (a 5-level range such as 1-5 or critical-to-low is common) Was the bug reproducible? Tester name Test date Bug reporting date Name of developer/group/organization the problem is assigned to Description of problem ca

44、use Description of fix Code section/file/module/class/method that was fixed Date of fix Application version that contains the fix Tester responsible for retest Retest date Retest results Regression testing requirements Tester responsible for regression tests Regression testing results A reporting or

45、 tracking process should enable notification of appropriate personnel at various stages. For instance, testers need to know when retesting is needed, developers need to know when bugs are found and how to get the needed information, and reporting/summary capabilities are needed for managers. Return

46、to top of this pages FAQ list What is configuration management? Configuration management covers the processes used to control, coordinate, and track: code, requirements, documentation, problems, change requests, designs, tools/compilers/libraries/patches, changes made to them, and who makes the chan

47、ges. (See the Tools section for web resources with listings of configuration management tools. Also see the Bookstore sections Configuration Management category for useful books with more information.) Return to top of this pages FAQ list What if the software is so buggy it cant really be tested at

48、all? The best bet in this situation is for the testers to go through the process of reporting whatever bugs or blocking-type problems initially show up, with the focus being on critical bugs. Since this type of problem can severely affect schedules, and indicates deeper problems in the software development process (such as insufficient unit testing or insufficient integration testing, poor design, improper build or release procedures, etc.) managers should be notified, and provided with some documentation as evidence of the problem. Return to top of this pages FAQ list How can it be known

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。