展望2011

2007-04-06 | Testing & The Role of a Test Designer / Tester 【转】

上一篇 / 下一篇  2007-04-27 22:35:02 / 个人分类:测试职业

51Testing软件测试网 t)f#Z"`2^*iI'AK

Testing & The Role of a Test Designer / Tester

@k9MM:S)a/L#xH g{0

By"D1b!r3t9um&P0原文地址:http://www.devbistro.com/articles/Testing/Role-of-Test-Designer-Tester51Testing软件测试网7VQ)_ c@\f

51Testing软件测试网q0@7Y"mgOXh

The Role of the Test Designer / Tester is to design and document test cases, execute test cases, record test case results, document and track defects, and perform test coverage analysis. To fulfill this role the designer applies appropriate test analysis, test design, and coverage analysis methods as efficiently as possible while meeting the test organizations testing mandate. The objective is to obtain as much test coverage as possible with a minimum set of test cases.51Testing软件测试网k)@~xk/n

Responsibilities and Deliverables

51Testing软件测试网N+xR9B6Q5fV

Test Case Design51Testing软件测试网7mke] B7`%~4IJ
A test case design is not the same thing as a test case . the design captures what the Test Designer / Tester is attempting to accomplish with one or more test cases. This can be as informal as a set of notes or a formal deliverable that describes the content of the test cases before the actual tests are implemented.51Testing软件测试网Y&~B\5Lp [!\

51Testing软件测试网;Nj~-q+vloc)S

Test Cases
],y u"M b X3s,U0A test case is a sequence of steps designed to test one or more aspect of the application. At a minimum, each test case step should include: a descrīption of the action, supporting data, and expected results. The test case deliverable can be captured using a "test case template" or by using one of the several commercial / freeware / shareware tools available.

-N9d0j8R:[051Testing软件测试网8[Q^5pwsl

Test Case Execution51Testing软件测试网:h$Ng5iPE+?"aI
Test case execution is the actual running or execution of a test case. This can be done manually or by automated scrīpts that perform the actions of the test case.51Testing软件测试网 i2K8m K+r3N,K${

@sX%U|F^0Capturing Test Results51Testing软件测试网xK*D"jq`
Capturing test results is a simple itemization of the success or failure of any given step in a test case. Failure of a test case step does not necessarily mean that a defect has been found -- it simply means the application did not behave as expected within the context of the test case. There are several common reasons for a test case step to fail: invalid test design / expectations, invalid test data, or invalid application state. The tester should ensure that the failure was caused by the application not performing to specification and that can the failure can be replicated before raising a defect.

y P,F1j*g3a7t0

%[c(z,X0[Z0Document Defects
Qz2gk*e]l0The tester documents any defects found during the execution of the test case. The tester captures: tester name, defect name, defect descrīption, severity, impacted functional area, and any other information that would help in the remediation of the defect. A defect is the primary deliverable of any tester . it is what is used to communicate to the project team.

9IG'A:ys1B EU051Testing软件测试网&}z%U6nnpJ H7ss)Wu

Test Coverage Analysis51Testing软件测试网*bXG\9I"Unl
The tester must determine if the testing mandate and defined testing scope have been satisfied -- then document the current state of the application. How coverage analysis is performed is dependent on the sources available to the tester. If the tester was able to map test cases to well formulated requirements then coverage analysis is a straightforward exercise. If this is not the case the tester must map test cases to functional areas of the application and determine if the coverage is "sufficient" -- this is obviously more of a "gut-check" than a true analysis.

*m.bAH/OS H)M0

Testing Mandate and Scope

51Testing软件测试网/D9u!@pD,w\)a d

The Test Designer / Tester must have a clear understanding of the Testing Mandate and Testing Scope before proceeding with their task - for more on Testing Mandates and Testing Scope see the associate article "Testing and The Role of a Test Lead / Test Manager". The temptation of any tester is to test "everything"; the problem is that this cannot be done with any application within a reasonable timeframe. The tester must ensure any test cases to be designed and executed fit into the scope of the current testing effort -- if not then either the scope needs to be redefined or the test cases need to be dropped.51Testing软件测试网mDJAv,o7x;k.~e

Test Phases and Test Case Design

0u;u+r"oI5~ni%E!X0The testing phase impacts the style, content, and purpose of any given test case. If the designer can think of the test phases in terms of "levels of abstraction" or "range of view" then the types of tests that need to be implemented for any given phase of testing become apparent.

OhB\8M m1H051Testing软件测试网!y(PGULe1G

Unit Test
L[fv"\_ X0The test designer, in this case the developer, creates test cases that test at the level of a line of code.

%a%[ D,x!Hk051Testing软件测试网Y C}6k%T.a }#ynW

Function Test51Testing软件测试网d h*F*Zd1b4op
The test designer creates test cases that test at the level of distinct business events or functional process.

f/gm\ k&o051Testing软件测试网+} k*H3| N5O

System Test51Testing软件测试网^ X)T-Qs[0d
The test designer creates test cases that test at the level of the system (Stress, Performance, Security, Recovery, etc.) or complete end-to-end business threads.51Testing软件测试网s erw ef

51Testing软件测试网9d(po(E]6l

Acceptance Test51Testing软件测试网`8q _]c:~;mn
The test designers, in this case a system matter expert or end-user, creates test cases that test at the level of business procedures or operational processes.51Testing软件测试网E5f;`GYFN

_:a`/@{c6E-T5PC`0Any given test case should not replicate the testing accomplished in a previous phase of testing. One of the most common mistakes that testers and testing organizations make is to replicate the previous coverage accomplished in Function test when creating test cases for System test.

D Kz|xZ|7^{0

Defect Content

51Testing软件测试网 t-P3jn F(UfIb

A defect is the most important deliverable a test designer creates. The primary purpose of testing is to detect defects in the application before it is released into production; furthermore defects are arguably the only product the testing team produces that is seen by the project team. The tester must document defects in a manner that is useful in the defect remediation process . at a bare minimum each defect should contain: Author, Name, Descrīption, Severity, Impacted Area, and Status. For example, if a defect was discovered during functional testing of a typical Login screen then the information captured by the defect could look like this:51Testing软件测试网[m6MG1C4\s4R f4@

X}%G6T uw8G7c9R0Defect Name / Title
c#w;T"z'^5F0The name or title should contain the essence of the defect including the functional area and nature of the defect. All defects relating to the login screen would begin with "Login Screen" but the remainder of the name would depend on the defect.51Testing软件测试网of1@+q3pP

7k#f4g+n9HD ]0Example: "Login Screen -- User not locked out after three failed login attempts"51Testing软件测试网)_*?Eq e:Ch0[c

&x Fcu%F bToq/o1f0Defect Descrīption
6K{w@3N0The descrīption should clearly state what sequence of events leads to the defect and when possible a screen snapshot or printout of the error.

6M'jI+G/u V}0

0d0w9u0g]e0Example: "Attempted to Login using the Login Screen using an invalid User Id. On the first two attempts the application presented the error message "Invalid User Id or Password -- Try Again" as expected. The third attempt resulted in the same error being displayed (ERROR). According to the requirements the User should have been presented with the message "Invalid User Id or Password -- Contact your Administrator" and been locked out of the system."

0E'AM-t!\ w3D%P0

fy1Lc \TzUi#[0How to replicate
y-r_w0a$`,@0The defect descrīption should provide sufficient detail for the triage team and the developer fixing the defect to duplicate the defect.

0K8eTA2k ] M:Z051Testing软件测试网+{*U)\qM0o!F$z-e

Defect severity51Testing软件测试网xJ ^l!?(s~
The severity assigned to a defect is dependent on: phase of testing, impact of the defect on the testing effort, and the Risk the defect would present to the business if the defect was rolled-out into production. Using the "Login Screen" example if the current testing phase was Function Test the defect would be assigned a severity of "Medium" but if the defect was detected or still present during System Test then it would be assigned a severity of "High".

Znm3^GcnC H0

Rf#m)k H}0Impacted area
1axOJ[7Yt$X\-@0The Impacted area can be referenced by functional component or functional area of the system -- often both are used. Using the "Login Screen" example the functional unit would be "Login Screen" and the functional area of the system would be "Security".51Testing软件测试网!yW,wY.xR sC+|p}

Relationships with other Team Roles

51Testing软件测试网8h/|$ND|N6U

Test Lead / Manager51Testing软件测试网{D6m+gK_
The Test Designer must obviously have a good working relationship with the Test Lead but more importantly the Test Designer must keep the Test Lead aware of any challenges that could prevent the Test Team from being successful. Often the Test Designer (or Designers) have a much clearer understanding of the current state of the application and potential challenges given their close working relationship with the application under test.51Testing软件测试网/o;~ T2cl(a n:A

51Testing软件测试网;m/mZ"M d

Test Automation Engineer
k{;J"R |WO/O0If the test cases are going to be automated then the Test Designer must ensure the Test Automation Engineer understands precisely what the test case is attempting to accomplish and how to respond if a failure occurs during execution of the test case. The Test Designer should be prepared to make the compromises required in order for the Test Automation Engineer to accomplish the task of automation, as long as these compromises do not add any significant risk to the application.51Testing软件测试网v7@Puw:}1H


TAG: 测试职业

 

评分:0

我来说两句

Open Toolbar