Software Test Design 1st Edition Simon Amey instant download
Software Test Design 1st Edition Simon Amey instant download
download
https://ebookultra.com/download/software-test-design-1st-edition-
simon-amey/
https://ebookultra.com/download/software-essentials-design-and-
construction-1st-edition-adair-dingle/
https://ebookultra.com/download/software-modeling-and-design-uml-use-
cases-patterns-and-software-architectures-1st-edition-hassan-gomaa/
https://ebookultra.com/download/mastering-javascript-design-
patterns-2nd-edition-simon-timms/
Scientific Software Design The Object Oriented Way 1st
Edition Damian Rouson
https://ebookultra.com/download/scientific-software-design-the-object-
oriented-way-1st-edition-damian-rouson/
https://ebookultra.com/download/a-philosophy-of-software-design-2nd-
edition-john-k-ousterhout/
https://ebookultra.com/download/understanding-industrial-design-
principles-for-ux-and-interaction-design-1-early-release-edition-
simon-king/
https://ebookultra.com/download/flexible-software-design-systems-
development-for-changing-requirements-1st-edition-bruce-johnson/
https://ebookultra.com/download/information-sources-in-art-art-
history-and-design-simon-ford-editor/
Software Test Design 1st Edition Simon Amey Digital
Instant Download
Author(s): Simon Amey
ISBN(s): 9781804612569, 1804612561
Edition: 1
File Details: PDF, 2.59 MB
Year: 2022
Language: english
Software Test Design
Simon Amey
BIRMINGHAM—MUMBAI
Software Test Design
Copyright © 2022 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted
in any form or by any means, without the prior written permission of the publisher, except in the case
of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information
presented. However, the information contained in this book is sold without warranty, either express
or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable
for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and
products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot
guarantee the accuracy of this information.
ISBN 978-1-80461-256-9
www.packt.com
To my wife, Daniela. You are my rock and my inspiration; thank you for so much support for so long.
And to my kids, Dominic and Hannah, who fill our lives with joy. I love you all!
– Simon Amey
Contributors
I want to thank the people who have been close to me and supported me, especially my wife, Daniela,
and my parents.
A huge thanks to all the amazing engineers I have worked with over the years. It's been a pleasure
building great products and learning together with you.
About the reviewer
Craig Risi is a software architect who has spent the past 18 years focusing on software testing, automation,
and providing software quality for several global organizations. He possesses a passion for software
design and, more importantly, software quality and designing systems that can achieve this in a
technically diverse and constantly evolving tech world.
Craig is also the writer of the book Quality by Design and writes regular articles on his blog sites and
various other tech sites around the world.
When not playing with software, he can often be found speaking at conferences, writing, designing
board games, or running long distances for no apparent reason.
Table of Contents
Prefacexv
2
Writing Great Feature Specifications 29
Advantages, disadvantages, and Sections39
alternatives to feature specifications 30 Requirement priority 39
Alternatives to feature specifications 32
Improving requirement statements 40
Improving the handover from the Specific40
product owner 36 Be precisely wrong rather than vaguely right 41
Understanding the requirements Measurable43
format37 Agreed44
Numbering38 Realistic44
viii Table of Contents
3
How to Run Successful Specification Reviews 63
Why do we need a specification review?64 Running the meeting 70
Advantages, disadvantages, and Fixing incorrect requirements 71
alternatives of specification review Opening the black box 72
meetings64
Setting a good tone for the meeting 72
Advantages of specification review meetings 65
Prioritizing requirement testing 74
Disadvantages of specification review meetings 65
Alternatives to specification review meetings 66 Review meeting checklist 74
Summary75
Inviting the right people 67
Scheduling the meeting 70
4
Test Types, Cases, and Environments 77
Understanding different levels of Advantages and disadvantages of unit tests 82
testing78 Advantages and disadvantages of integration
Test level examples 80 tests83
Test ordering 81 Advantages and disadvantages of system tests 84
The testing pyramid 81 Defining test cases 86
Table of Contents ix
6
White-Box Functional Testing 145
Advantages and disadvantages of Understanding loop coverage 161
white-box testing 146 Understanding state and path coverage 162
Using code analysis 147 Choosing appropriate test coverage 163
7
Testing of Error Cases 181
Advantages and disadvantages of Catching errors in the backend 186
error testing 182 Catching errors written into the storage 187
Classifying expected versus Catching stored errors 188
unexpected problems 183 Fail as little as possible 189
Error handling philosophies 184 Understanding defect cascading 190
Fail as early as possible 185 Prioritizing error case testing 192
Failing early in the release cycle 185 Testing beyond the limits 193
Catching errors in the frontend 185
Table of Contents xi
8
User Experience Testing 207
Defining UX testing 208 Required combinations of steps 231
Advantages and disadvantages of UX Requiring restarts 232
testing209 Providing freedom and feedback 232
Hidden tools 233
Understanding usability and the
Irreversible operations 234
feature specification 210
Menu systems 235
Running UX reviews 211
Accessing features in multiple ways 236
Setup versus ongoing usage 212 Data structure design 237
Testing the user interface’s look and User interaction overview 238
feel215
Testing the documentation 238
Interoperability216
Testing error feedback 240
Testing displays 217
Preventing errors 240
Scroll bars 218
Presenting errors 240
Using touch screens 219
Avoiding spurious errors 242
Choosing clear words 219 Policing errors 243
Testing localization 220 Spurious errors 243
Internal failures 243
Testing time zones 222
Ensuring accessibility 223 UX and loading 244
Testing information display 225 Running usability studies 244
Displaying information in tables 226 Recorded sessions 245
Visual elements 228 Questionnaires245
Testing notifications 229 A/B testing 245
Information display overview 229 Instrumentation246
Testing user interaction 230 Comparing bugs and feature requests 247
Counting user steps 230 Summary247
xii Table of Contents
9
Security Testing 249
Advantages and disadvantages of Testing file uploads 264
security testing 250 Testing file storage 265
Attack types 251 Testing web application security 265
Discovering the attack area 251 Information leakage 266
Running security scans 252 404 content injection 266
Security scan results 253 Clickjacking267
Long password attack 267
Running code analysis 254
Host header attacks 267
Upgrading everything 255 CSRF attacks 268
Logging in 255 CORS attacks 268
Authentication256
Handling personally identifiable
Authorization260
information269
Testing injection attacks 261 Running a bug bounty program 272
SQL injection 262 Avoiding security through obscurity 273
HTML injection 262
Considering security beyond the
Code injection 263 application273
Cross-site scripting attacks 263
Summary274
Validating file inputs 264
10
Maintainability275
Understanding maintainability use Instrumentation283
cases276 Filtering alerts 283
Advantages and disadvantages of Performing active checks 285
maintainability testing 277 System resources versus customer outcomes 286
Hierarchies of system failures 286
Goals of maintainability 278
Automatic problem reporting 287
Tools for observability 278
Monitoring overview 287
Identifying system degradation 280
Improving your system 281 Testing maintenance operations 287
Debugging issues 282 Worst-case maintenance operations 288
Centralized commands 289
Designing monitoring 282
Table of Contents xiii
12
Load Testing 325
Advantages and disadvantages of Load test design 333
load testing 326 Load runner architecture for client-server
Prerequisites328 applications333
Identifying load operations 329 Other load runner architectures 334
Load runner interfaces 334
Dynamic versus static load 330
Load runner functions 335
Soak testing versus spikes of load 331
Loading combinations 332 Raising system limits 335
xiv Table of Contents
What to check during load testing 337 Loading messages between modules 347
Memory leaks 338 Performance testing 348
System resource leaks 339 Identifying bottlenecks 349
Reporting results 340 Load tests in the release cycle 349
Defect hiding 343 Filtering load test errors 350
Race conditions and asynchronous Result sensitivity 351
systems344 Loading reliability 351
Startup and shutdown 346 Debugging load test issues 352
Loading inefficiencies 347 Summary353
13
Stress Testing 355
The advantages and disadvantages of Soak testing 364
stress testing 356 Spikes in load 366
Stress test architecture 357 Testing queues 366
Breaching transaction rates 357 Stress testing with errors 370
Policed and unpoliced limits 360 What to check when stress testing 371
Identifying positive feedback loops 360 Summary373
Graceful degradation 362
Limited resources 362
Conclusion375
Index387
Encore quelques convulsions et l’eau entra dans son bec, dans ses
narines; il était asphyxié!... et demeura étendu sur l’eau, les ailes
ouvertes, les plumes hérissées, les serres encore frémissantes sous
les spasmes de l’agonie.
La poule était vengée; tous les oiseaux du canton, délivrés de leur
redoutable ennemi, firent à cette mère courageuse une véritable
ovation. Elle fut entourée, fêtée, remerciée. Puis vint mon tour, car
je m’étais vaillamment conduit, et j’avais vu plus d’une fois la mort
de près! J’avais laissé quelques plumes dans la bagarre; j’avais été
meurtri, presque assommé d’un coup d’aile terrible... Ce fut alors
que je m’écriai:
«Mes amis, songeons aux blessés!...»
On les soigna le mieux possible.
Pendant ce temps, le soleil était descendu près de l’horizon. Il
disparut, et la nuit calme et profonde vint couvrir ces lieux naguère
pleins de tumulte et de batailles.
VII
(Ratisbonne.)
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookultra.com