- 软件测试中级英语阅读与写作教程(广东外语外贸大学国际服务外包人才培训系列教材)
- 许罗迈主编
- 15字
- 2024-12-21 08:31:12
Unit 1 What Is Software Testing(什么是软件测试)
1.Reading(阅读)
1.1 Read the following text
(阅读下面的文本)
Text 1
Within the Validation and Verification(V&V)process,there are two complementary approaches to system checking and analysis.
Software inspections or peer reviews analyze and check system representations such as requirements document,design diagrams and program source code.You can use inspections at all stages of a testing process.Inspections may be supplemented by some automatic analysis of the source text of a system or associated documents.Software inspections and automated analyses are static V&V techniques,so you do not need to run the software on a computer.
Software testing involves running an implementation of the software with testing data.You examine the outputs of the software and its operational behavior to check if it is performing as required.Testing is a dynamic technique of verification and validation.
Text 2
As I explained earlier,the software testing process has two distinct goals:
1.To demonstrate to the developer and the customer that the software meets its requirements.For custom software,there should be at least one test for every requirement in the user and system requirements documents.For generic software products,there should be tests for all of the system features.Such features will be incorporated in the product release.Some systems may have an explicit acceptance testing phase.In this phase,the customer formally checks the delivered system against its specification.
2.To discover faults or defects in the software.Defect testing is concerned with rooting out all kinds of undesirable system behaviors,such as system crashes,unwanted interactions with other systems,incorrect computations and data corruption.
The first goal leads to validation testing.Here you expect the system to perform correctly.You use a given set of test cases reflecting the system's expected use.The second goal leads to defect testing.Here the test cases are designed to expose defects.The test cases can be deliberately obscure and need not reflect how the system is normally used.For validation testing,if the system performs correctly,then it is a successful test.For defect testing,if a test exposes a defect and causes the system to perform incorrectly,then it is a successful test.
The goal of software testing is to show this to system developers and customers:the software is good enough for operational use.Testing is a process intended to build confidence in the software.
Text 3
A general model of the testing process is shown in Fig.1-1 below.Testing cases include test inputs,the expected output,and what is tested.Testing data are the inputs.Testing data can sometimes be generated automatically.Automatic test case generation is impossible.The output of the tests can only be predicted by people,and they understand what the system should do.
Fig.1-1 A general model of the testing process
Exhaustive testing,where every possible program execution sequence is tested,is impossible.Testing has to be based on a subset of possible test cases.Ideally,software companies should have policies for choosing this subset rather than leave it to the development team.These policies might be based on general testing policies.For example,all program statements should be executed at least once.Alternatively,the making of testing policies may be based on experience of system usage and may focus on the testing of the features of the operational system.For example:
1.All system functions that can be accessed to in menus should be tested.
2.Combinations of functions(e.g.text formatting)accessed to in the same menu must be tested.
3.Where user input is provided,all functions must be tested with both correct and incorrect inputs.
1.2 High Frequency Vocabulary(常用词汇)
validation n. 确认
system n. 系统
analysis n. 分析
inspection n. 审核
requirement n. 需求
design n. 设计
program n. 程序
implementation n. 实例,实施
data n.(pl.)数据
output n. 输出
developer n. 开发者
meet v. 达到,满足
custom software 定制软件
product n. 产品
release n./v.版本;发布
phase n. 阶段,环节
specification n. 规约
fault n. 错误
crash n./v.崩溃
verification n.验证
checking n.检查
software n.软件
analyze v.分析
document n.文档
diagram source code source code n.图表
源代码
test case n.测试用例
run v.运行
goal n.目标
customer n.客户
behavior n.行为
generic software 通用软件
incorporate v.整合
acceptance n.接受,
接受度
deliver v.交货
check v.检查
defect n.缺陷
interaction n.交互
computation n. 计算
perform v. 运行,表现
expect v. 预期,期待
result n. 结果
design v./n.设计
automatic adj.自动的
policy n. 策略,对策
feature n. 性能
access v. 访问
user n. 用户
process n. 过程,流程
require v. 要求,需求
corruption n.损坏
figure n.图,数字
statement n.说明,
程序语句
report n.报告
generate v.生成
subset n.子集
execute v.执行,
运行
function n.功能,
程序函数
menu n.菜单
example n.例子
show v.显示
against prep.对照
1.3 Language Points(语言点)
(1)英语词汇主要可分类为名词(n.)、动词(v.)、形容词(adj.)等。名词表示物体、概念等,动词表示动作,形容词描述其后所接名词的性质,例如generic。
(2)动词通过加后缀可以变成名词或动名词。例如test是动词,加ing后成testing,变成动名词;又例如inspect是动词,加ion后成inspection,变成名词。学习者应该记住一些常用后缀。
(3)规则动词词尾加ed或ing可以变成形容词。例如expect是动词,加ed后成expected,或者加ing后成expecting,变成形容词“预期的”。
(4)英语名词分可数名词和不可数名词。可数名词如果要表示数量不止一个,一般要在词尾附加s或者es,如document词尾加s成为documents,表示“多个文件”。汉语词汇没有相应用法,因此中国人往往忘记在复数可数名词词尾加s或es。不可数名词没有复数概念,不能加s。中国人学习名词时应注意词典中有无[Un-Count]标志,如果有则是不可数名词。例如,不论你认为有多少源代码,都只能说source code,而不能说source codes。这也是中国人学习英语的一个难点。
(5)有些可数名词变复数不是在单数拼写形式后面加s的规律变化,而是有较大差异的拼写形式。如data是复数,datum是单数。注意不要在data后面再加s。这类所谓不规则名词的使用也是容易出错的。
1.4 Reading Comprehension(阅读理解)
1.4.1 Judge whether the following statements are true(T)or false(F)according to Text 1.
根据Text 1的内容判断下列说法正确与否。
T F
(1)软件测试都必须运行软件。()()
(2)软件测试包括审核各种文件。()()
(3)动态软件测试使用测试数据。()()
1.4.2 Judge whether the following statements are true(T)or false(F)according to Text 2.
根据Text 2的内容判断下列说法正确与否。
T F
(1)定制软件测试应该为每个需求规约设计对应的测试。()()
(2)缺陷测试应该消除各种系统崩溃、运算错误和数据损坏。()()
(3)通用软件测试可以只测试关键系统功能。()()
(4)缺陷测试用例不必测试正常运行情况。()()
(5)确认性测试应该证明软件能够正确运行。()()
(6)好的缺陷测试应该能发现导致软件运行出错的错误。()()
1.4.3 Judge whether the following statements are true(T)or false(F)according to Text 3.
根据Text 3的内容判断下列说法正确与否。
T F
(1)测试用例通常包括输入说明、预期输出和简短说明。()()
(2)测试用例可以自动生成。()()
(3)测试过程包括设计测试用例、准备测试数据、用测试数据运行程序、比较测试用例和结果。()()
(4)软件公司应该安排开发人员负责编写软件测试用例。()()
(5)软件测试策略应该确保每条程序语句都在测试中被运行过。()()
(6)所有菜单项涉及的功能都应被测试。()()
(7)同一菜单项涉及的各种功能组合都应被测试。()()
(8)不必为所有功能都安排正确和错误的输入数据。()()