Chapter 8 Configuration Testing

Configuration Testing
Chapter 8
© attachmate 2004
Highlights
 Why configuration testing is necessary
 Why configuration testing can be a huge job
 A basic approach to configuration testing
 How to find the hardware you need to test
with
 What to do if you’re not testing software for a
desktop computer
© attachmate 2004
An Overview of Configuration Testing
 Configuration testing is the process of checking the
operation of the software you’re testing with all these
various types of hardware
 Different configuration possibilities
 The PC
 Components
 Peripherals
 Interfaces
 Options and memory
 Device drivers
© attachmate 2004
An Overview of Configuration Testing
(2)
 Which of the configuration areas would be
most closely tied to the program
 Graphical computer program
 A greeting card program
 A fax or communication program
 Why this all necessary?
 Standards aren’t always followed
 Software doesn’t work correctly with certain
hardware configurations
© attachmate 2004
Isolating Configuration Bugs
 The sure way to tell if a bug is a configuration
problem
 Perform the exact operation on another computer with
a different hardware setup
 Where the configuration problem lies
 Software may have a bug that appears under a broad
class of configurations
 Software may have a bug specific only to one
particular configuration
 Hardware device or its device drivers may have a bug
that only this software reveals
 Hardware device or its device drivers may have a bug
that can be seen with lots of other software
© attachmate 2004
Sizing Up the Job
 Configuration testing can be a huge
undertaking
 You may need to check every possible make
and model combination
 Too many to consider
 Example
© attachmate 2004
Approaching the Task
 Equivalence partitioning
 Reduce the huge set of possible
configurations to the ones that matter the most
 What makes the effort a success or not
 The information you use to make the decision
 Learn as much as you can and bring in other
experienced testers or programmers
© attachmate 2004
Decide the Types of Hardware You’ll
Need
 Look closely at your software feature set to
make sure that you cover everything
 Draw a table to summarize what hardware
pieces you need to put together to make it
work
 Online registration example
© attachmate 2004
Decide What Hardware Brands, Models,
and, Device Drivers Are Available
 Create a list of hardware to test with
 Check out recent equipment reviews
 PC Magazine or Mac World
 Research to see if some of the devices are
clones of each other
 Falling under the same equivalence partition
 Decide what device drivers you’re going to
test with
 Three approaches
© attachmate 2004
Decide Which Hardware Features,
Models, and Options Are Possible
 Software may not need to support all the
features of hardware
 If the configuration has less requirements,
simply not test these features
 Printer example
© attachmate 2004
Pare Down the Identified Hardware
Configurations to a Manageable Set
 Put all configuration into a spread sheet with
columns for the manufacturer, model, driver
versions and options
 Figure 8.7 example
 May test only the most popular printers or
ones that are less than 5 years old
 No right formula
© attachmate 2004
Identify Your Software’s Unique
Feature That Work with the Hardware
Configurations
 Test only those features that are different
from each other
 Different equivalence partitions
 Word pad printing example
© attachmate 2004
Design the Test Cases to Run on Each
Configuration
 Select and set up the next test configuration
from the list
 Start the software
 Load in the file configtest.doc
 Confirm that the file is displayed correctly
 Print the document
 Confirm that there are no error messages and
that the printed document matches the
standard
 Log any discrepancies as a bug
© attachmate 2004
Execute the Tests on Each
Configuration
 It’s often difficult and time-consuming to
identify the specific source
 Closely work with programmers and white-box
testers
 If the bug is specific to the hardware
 Consult the manufacturer's website for
information on reporting problems to them
© attachmate 2004
Return the Tests Until the Results
Satisfy Your Team
 It’s not uncommon for configuration testing to
run the entire course of a project
 An increment testing process
 Configuration test complete
 Get to a point where there are no known bugs
or to where the bugs that still exist are in
uncommon or unlikely test configurations
© attachmate 2004
Obtaining the Hardware
 Buy only the configurations that you can or will use
most often
 Always have different configurations available to test
on
 Contact the hardware manufacturers and ask if they
will lend or even give you the hardware
 Send a memo or email to everyone in your company
asking what hardware they have in their office or
even home
 If you have budget, work with your project manager
to contact out your test work to a professional
configuration and compatibility test lab
© attachmate 2004
Identifying Hardware Standards
 Knowing some details of the hardware
specifications can help you make more
informed equivalence partition decisions
 For Apple hardware
http://develper.apple.com/testing
 For PC
http://www.microsoft.com/whdc/system/platform
 A set of standards to receive the Windows logo
http://msdn.microsoft.com/certification
http://www.microsoft.com/whdc/whql
© attachmate 2004
Configuration Testing Other Hardware
 Testing other special software
 What external hardware will operate with this
software
 What models and versions of that hardware
are available
 What features or opinions does that hardware
support
 Then follow the same technique mentioned
above
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值