Академический Документы
Профессиональный Документы
Культура Документы
Panagiotis Leloudas
Introduction to Software Testing: A Practical Guide to Testing, Design,
Automation, and Execution
Panagiotis Leloudas
Ilioupoli, Greece
Acknowledgments������������������������������������������������������������������������������xv
Introduction��������������������������������������������������������������������������������������xvii
v
Table of Contents
Maintainability Testing�����������������������������������������������������������������������������������26
Compliance Testing���������������������������������������������������������������������������������������27
Static Testing������������������������������������������������������������������������������������������������������29
Code Reviews������������������������������������������������������������������������������������������������29
Requirement Reviews�����������������������������������������������������������������������������������30
Design Reviews���������������������������������������������������������������������������������������������31
Walk-Throughs����������������������������������������������������������������������������������������������32
Inspections����������������������������������������������������������������������������������������������������33
Summary������������������������������������������������������������������������������������������������������������34
vi
Table of Contents
vii
Table of Contents
Loop Testing������������������������������������������������������������������������������������������������130
Data Flow Testing����������������������������������������������������������������������������������������132
Static Testing����������������������������������������������������������������������������������������������������133
Summary����������������������������������������������������������������������������������������������������������135
viii
Table of Contents
ix
Table of Contents
Afterword������������������������������������������������������������������������������������������205
Index�������������������������������������������������������������������������������������������������207
x
About the Author
Panagiotis Leloudas is a software quality
assurance engineer with more than 10 years of
working experience in the industry. He holds
several ISTQB certifications and is an expert
in testing principles, methodologies, and
techniques.
He decided to write this quick guide to
software testing because he needed a go-to
document for all the decisions he had to make
every day on the job and there wasn’t one. He
tried to write down everything that he would
have liked to know when he started his career.
xi
About the Technical Reviewer
Sourabh Mishra is an entrepreneur, developer,
speaker, author, corporate trainer, and
animator. He is passionate about Microsoft
technologies and a true .NET warrior. Sourabh
has loved computers from childhood and
started his career when he was just 15 years
old. His programming experience includes
C/C++, ASP.NET, C#, VB .NET, WCF, SQL
Server, Entity Framework, MVC, Web API, Azure, jQuery, Highcharts, and
Angular. Sourabh has been awarded Most Valuable Professional (MVP)
status. He has the zeal to learn new technologies, sharing his knowledge on
several online community forums.
He is a founder of IECE Digital and Sourabh Mishra Notes, an online
knowledge-sharing platform where people can learn new technologies.
xiii
Acknowledgments
Writing a book is a significant undertaking, and I couldn’t have done it
without the support and assistance of many people along the way. I want
to express my gratitude to everyone who contributed to the creation of this
book and helped me throughout the process.
First and foremost, I want to thank my family for their unwavering
support, encouragement, and patience during the many months of writing
and editing. Your love and support mean the world to me, and I couldn’t
have done this without you.
I also want to thank my editors, Divya Modi and James Markham, for
their insightful feedback, guidance, and support throughout the writing
process. Your expertise and attention to detail were invaluable in shaping
this book into its final form.
I am grateful to Apress Media LLC for believing in this project and
providing the resources necessary to bring it to fruition.
I am indebted to the many experts, researchers, and consultants who
generously shared their knowledge, insights, and expertise to help me
with my research. Your contributions have added depth and richness to
this book.
Finally, I want to thank my readers for their interest in this book and
for taking the time to read it. Your support and feedback mean the world to
me, and I hope this book can make a positive difference in your life.
Thank you all for your support, encouragement, and contributions to
this book. I am forever grateful.
xv
Introduction
A collection of notes, thoughts, and experiences written down to be shared
with the world: this is how I see the creation of this book. It is not meant
to be the ultimate truth about software testing; there is no such a thing
after all. I have taken several courses about software testing from different
organizations, in numerous countries, and I have spent weeks studying
testing material, but most of my knowledge comes from trial and error in
the industry. It is true that in the end you learn only what you practice.
This book takes you on a journey around the software testing world,
covering the basic principles and techniques and showing examples
of how to apply them. Software testing is a safeguard of the quality
of a software product, and a tester is responsible for reporting on the
quality status. Keep in mind that the quality of the product is not the sole
responsibility of a tester; rather, it’s a collective effort from every individual
in the organization. A chain is only as strong as its weakest link.
Different types of testing are applicable to every phase of the software
development life cycle; of course, the priorities and the risks are not the
same in all the products. Testing is all about identifying those risks and
setting up a mitigation plan by executing the necessary tests and analyzing
the results.
In this book, I will demonstrate some of the most important software
testing types and techniques that exist and how to apply them. You will
find out what testing activities take place during every phase of software
development, how to plan the testing activities, how to design the test
cases, how to execute them, and how to report defects and the status of
your activities. It is meant to be easy to understand for everyone, even
with only the slightest technical background or involvement in a product.
I hope you will enjoy the process and pick up a thing or two!
xvii
CHAPTER 1
The Importance
of Software Testing
Software testing is a crucial part of the software development process. It is
the process of evaluating a software system or application to find defects,
errors, or bugs, and verifying that it meets its intended requirements and
functions correctly. Software testing is essential because it ensures that
the software performs as expected, meets user needs, and is reliable and
efficient.
Testing is not a one-time event, but rather a continuous process that
begins in the early stages of development and continues through the
software’s life cycle. The process involves planning, designing, executing,
and evaluating tests to identify and fix issues and to improve the quality of
the software.
There are various types of software testing, each with a unique focus
and objective. Some of the common types include unit testing, integration
testing, system testing, acceptance testing, regression testing, performance
testing, and security testing. Each type of testing has a specific purpose and
is conducted at different stages of the software development life cycle.
One common misconception about software testing is that it is just
about finding defects or errors in software. While detecting defects is an
essential part of software testing, it is not the only goal. Testing is also
about verifying that the software meets user requirements, is easy to use,
and performs as expected. Testing also involves ensuring that the software
is scalable, secure, and efficient.
2
Chapter 1 The Importance of Software Testing
3
Chapter 1 The Importance of Software Testing
Summary
To summarize, software quality is a collective effort, and the
responsibilities are distributed among the various members of a company.
There are plenty of software testing types and techniques for the core
testing team of a project, and the next chapter will dive into the details of
each and every one.
4
CHAPTER 2
Software Testing
Types and Techniques
Software testing is a complex process that involves various types and
techniques to ensure that the software is working correctly and meets its
intended requirements. In this chapter, we will discuss the different types
of software testing and the techniques used in each type, starting with
functional testing and the four levels it involves. We will continue with
nonfunctional testing, which can include performance testing, compliance
testing, and all the different types of -ility testing (usability, compatibility,
availability, etc.). After that, we will see the benefits of static testing, where
we can detect potential defects just by carefully examining the code
without even executing it.
Functional Testing
This type of testing is performed to validate that the software is working as
expected and meets the user’s requirements. The primary focus is on the
software’s functionality and includes various levels of testing such as unit
testing, integration testing, system testing, and acceptance testing. These
levels are widely known as the testing pyramid, a concept introduced by
Mike Cohn.
The lower we go on the testing pyramid (Figure 2-1), the faster and
more isolated the tests are. On the contrary, as we go higher on the testing
pyramid, the tests become slower, and more components are integrated.
6
Chapter 2 Software Testing Types and Techniques
Unit Testing
Unit testing is a software testing technique that focuses on testing
individual units or components of a software system. A unit is the smallest
testable part of any software application, usually a function, method,
or class. The purposes of unit testing are to verify that each unit of the
software performs as expected and to catch errors as early as possible in
the development process.
During unit testing, the individual units of the software are tested in
isolation from the rest of the system. This is achieved by using stubs or
mock objects to simulate the behavior of other parts of the system that the
unit depends on. Unit tests are typically automated, which enables them
to be run frequently and easily, ensuring that changes to the code do not
break existing functionality.
Unit tests are typically written by developers as part of the
development process. Here are some key characteristics of unit tests:
7
Chapter 2 Software Testing Types and Techniques
8
Chapter 2 Software Testing Types and Techniques
Integration Testing
Integration testing is a type of testing that focuses on testing the interaction
between different software components, subsystems, or modules. The
purpose of integration testing is to verify that the integrated software
system works as intended and that the individual components are able to
work together without errors or issues.
The main goal of integration testing is to identify any defects or issues
that may arise when multiple software components are combined. The
objective is to detect problems early in the software development cycle,
before the product is released to the customers. This helps in reducing
the cost and effort required to fix issues in later stages of the software
development process.
There are different approaches to integration testing such as top-down,
bottom-up, and hybrid. In the top-down approach, testing starts from the
highest level and works its way down to the lowest level of the software
hierarchy. In the bottom-up approach, testing starts from the lowest level
and works its way up to the highest level of the software hierarchy. The
hybrid approach combines the top-down and bottom-up approaches.
In integration testing, individual units of code are combined and tested
as a group. Integration tests can be performed at various levels, such as the
following:
10
Chapter 2 Software Testing Types and Techniques
System Testing
System testing is a type of software testing that is performed on a complete,
integrated system to evaluate the system’s compliance with its specified
requirements. It is generally a black-box testing approach, which means
that testers are not concerned with the internal workings of the system.
Instead, they focus on testing the system as a whole to ensure that it meets
the functional and nonfunctional requirements of the stakeholders.
System testing is typically conducted after integration testing, which
tests the integration of different components or subsystems of the system.
The objective of system testing is to verify that the integrated system satisfies
the requirements and behaves as expected in the target environment.
11
Chapter 2 Software Testing Types and Techniques
12
Chapter 2 Software Testing Types and Techniques
Nonfunctional Testing
This type of testing focuses on the software’s nonfunctional aspects, such
as performance, security, and usability. The objective is to ensure that the
software meets its nonfunctional requirements and provides a positive
user experience. Here are some examples of nonfunctional testing:
Performance testing involves testing the software’s performance
under various conditions, such as load, stress, and scalability.
Security testing involves testing the software’s security features to
ensure that it is secure from various types of attacks and vulnerabilities.
Usability testing involves testing the software’s user interface and user
experience to ensure that it is user-friendly and easy to use.
Compatibility testing is testing whether the system can work with
different software, hardware, and operating systems.
Scalability testing is testing whether the system can handle increasing
amounts of data and users.
Reliability testing is evaluating how well the system performs under
different conditions and over time.
Availability testing is testing whether the system is available to users
and can be accessed at all times.
Installability testing is testing how easy it is to install and configure
the software and whether it meets installation requirements and
specifications.
Maintainability testing is testing the software’s ability to be updated,
maintained, and supported over time, and whether it meets maintenance
requirements and specifications.
Compliance testing is testing whether the software meets specific
regulatory or industry standards, such as HIPAA, GDPR, or PCI DSS.
13
Chapter 2 Software Testing Types and Techniques
Performance Testing
Performance testing measures how well a system or application performs
under a given workload. It helps identify bottlenecks and problems in the
application’s performance, and it can also help determine whether the
application can handle expected volumes of data or users. In this section,
we’ll discuss the different types of performance testing, how to plan for and
execute performance tests, and tools and techniques used in performance
testing.
There are different types of performance testing that can be used to
evaluate the performance of an application.
14
Chapter 2 Software Testing Types and Techniques
15
Chapter 2 Software Testing Types and Techniques
16
Chapter 2 Software Testing Types and Techniques
Security Testing
Security testing is a type of software testing that focuses on identifying
vulnerabilities and potential security risks within an application or system.
Security testing is an essential process for ensuring that an application or
system is secure and safe from potential attacks or malicious activity.
There are various types of security testing techniques and tools
available that can be used to identify and address potential security issues.
The following are some of the common techniques:
17
Chapter 2 Software Testing Types and Techniques
18
Chapter 2 Software Testing Types and Techniques
19
Chapter 2 Software Testing Types and Techniques
Usability Testing
Usability testing is a type of testing performed to evaluate how user-
friendly a product is. The objective of usability testing is to determine how
easy it is for users to learn and use the product, how efficient they are at
completing tasks, and how satisfied they are with the product.
20
Chapter 2 Software Testing Types and Techniques
Compatibility Testing
Compatibility testing is a type of software testing that is performed to
ensure that an application is compatible with various hardware, operating
systems, browsers, databases, and other third-party software components.
The purpose of compatibility testing is to identify compatibility issues
between the software application and the systems on which it will be
deployed. The goal is to ensure that the application functions properly
across a variety of environments and configurations.
To perform compatibility testing, the testing team needs to identify
the hardware, software, and other components that the application will be
required to work with. Based on this information, the testing team creates
a test plan that outlines the specific tests that need to be conducted to
ensure compatibility.
21
Chapter 2 Software Testing Types and Techniques
• Browser compatibility
• Database compatibility
Scalability Testing
Scalability testing is a type of nonfunctional testing that evaluates the
ability of a system or application to scale up or scale down in response to
changing workload and data volume. The purpose of scalability testing is
to identify the maximum capacity of a system or application and to ensure
that it can handle increasing levels of load without compromising its
performance or stability.
Scalability testing is particularly important for systems that are
expected to handle a large number of users, transactions, or data volume.
It is typically performed in a controlled environment, using a combination
of manual and automated testing techniques to simulate different levels
of load and measure the system’s response time, throughput, and resource
utilization.
22
Chapter 2 Software Testing Types and Techniques
Reliability Testing
Reliability testing is a type of software testing that aims to determine the
reliability of a software application by measuring its performance in various
conditions over a certain period of time. The goal of this testing is to identify
any defects or issues that could affect the overall reliability of the system.
Reliability testing typically involves subjecting the software to a series
of tests that simulate real-world scenarios and stress conditions. These
tests may include load testing, performance testing, and endurance
testing. The software is also tested for its ability to recover from errors or
failures and its ability to maintain its performance levels under varying
conditions.
The following are some common techniques used in reliability testing:
23
Chapter 2 Software Testing Types and Techniques
Availability Testing
Availability testing is a type of nonfunctional testing that is performed
to measure the ability of a system or application to remain available
and accessible for use by its users over a specified period of time. The
primary objective of availability testing is to identify and mitigate any
factors that could lead to service disruptions or downtime, such as
hardware or software failures, network connectivity issues, or system
configuration errors.
During availability testing, testers simulate various failure scenarios
and measure the system’s ability to recover from them in a timely manner.
Availability metrics are used to measure the system’s performance.
These metrics may include the percentage of uptime, the mean time
between failures (MTBF), the mean time to repair (MTTR), and the
recovery time objective (RTO).
Installability Testing
Installability testing is a type of software testing that evaluates how easy
it is to install, set up, and configure the software. This type of testing is
essential to ensure that the installation process is straightforward, reliable,
and consistent, and that the software meets installation requirements and
specifications.
Installability testing involves testing the software installation process
on different hardware, operating systems, and configurations, and
verifying that it meets the following criteria:
24
Chapter 2 Software Testing Types and Techniques
25
Chapter 2 Software Testing Types and Techniques
Maintainability Testing
Maintainability testing is a type of software testing that evaluates the software’s
ability to be updated, maintained, and supported over time. This type of
testing is essential to ensure that the software can be modified or enhanced
easily and that it remains stable and reliable after updates and changes.
Maintainability testing involves testing the software’s maintainability
by evaluating the following criteria:
26
Chapter 2 Software Testing Types and Techniques
Compliance Testing
Compliance testing is a type of software testing that ensures that software
applications meet certain regulatory, legal, and industry-specific
standards. This type of testing is essential to ensure that the software meets
legal and regulatory requirements and is safe and secure for users.
Compliance testing involves testing the software for compliance with
the following criteria:
27
Chapter 2 Software Testing Types and Techniques
28
Chapter 2 Software Testing Types and Techniques
Static Testing
Static testing is a software testing technique that involves the examination
of code or software documentation without actually executing the
program. The goal of static testing is to identify defects in the code,
requirements, or design before the software is actually executed. This type
of testing is also known as nonexecution testing or verification testing.
Code reviews involve a team of developers and/or testers reviewing
each other’s code to identify any defects or potential issues.
Requirements reviews are about reviewing the requirements
documentation to ensure that they are complete, clear, and accurate.
Design reviews where the team is reviewing the design documentation
to ensure that it meets the requirements and is technically feasible.
Walk-throughs usually are a team of developers looking through the
code or documentation to ensure that it meets the required specifications
and standards.
Inspections are a formal process of reviewing the code or
documentation to identify and document defects.
Code Reviews
Code review is a form of static testing that involves reviewing the
source code of a software application to identify defects, bugs, or other
issues that may impact performance or functionality. Code reviews are
typically performed by one or more individuals who have expertise in the
programming language, design patterns, and coding standards used in the
software application.
The goals of a code review are to identify any defects or issues that may
impact the quality or functionality of the software and to provide feedback
to the developer so that they can make improvements. Code reviews can
be performed manually, using a document or spreadsheet to track issues,
or via specialized software tools that automate the review process.
29
Chapter 2 Software Testing Types and Techniques
Requirement Reviews
Requirement reviews are a form of static testing that involves reviewing the
software requirements to identify defects, errors, or inconsistencies. This
type of review is typically performed by stakeholders, including business
analysts, project managers, developers, testers, and end users.
The goal of a requirement review is to ensure that the software
requirements accurately reflect the needs and expectations of the
stakeholders and that they are complete, unambiguous, and consistent.
During the review process, stakeholders may ask questions, clarify
requirements, or suggest changes or additions to the requirements.
30
Chapter 2 Software Testing Types and Techniques
Design Reviews
Design reviews are a form of static testing that involves reviewing the
design documents of a software application to identify defects, errors,
or inconsistencies. The design documents may include architectural
diagrams, flowcharts, data models, and other design artifacts that describe
how the software will be implemented.
The goal of a design review is to ensure that the software design meets
the requirements of the stakeholders, and that it is efficient, maintainable,
and scalable. During the review process, stakeholders may ask questions,
suggest improvements, or identify potential issues or risks in the design.
31
Another random document with
no related content on Scribd:
It is wonderful to me how I could have been so easily cast
away at such an age. It is wonderful to me that, even after my
descent into the poor little drudge I had been since we came to
London, no one had compassion on me—a child of singular
abilities, quick, eager, delicate, and soon hurt bodily or mentally
—to suggest that something might have been spared, as
certainly it might have been, to place me at any common school.
Our friends, I take it, were tired out. No one made any sign. My
father and mother were quite satisfied. They could hardly have
been more so if I had been twenty years of age, distinguished at
a Grammar School, and going to Cambridge.
Terrible words those: the more terrible for being, after long
repression, uttered so judicially.
And again:
Nor did his parents’ neglect end with starving his heart’s affection,
his brain’s activity. It starved the weak little body into spasms through
malnutrition. He had a boy friend in the warehouse, one Bob Fagin.
Dickens writes of this time:
PREFACE
I THINK it meet, Gentlemen, that before we resume our subject to-day,
a word should be said on a loss that has befallen English letters in
general and our sister-University in particular, since I last addressed
you.
Walter Raleigh was an authentic son of Cambridge: and although
he spent the most of his life teaching in other places the better
understanding of a literature—our own literature—which in his
undergraduate days had not found adequate recognition here, yet
Cambridge had been his pasture, and he carried everywhere the
mettle of that pasture: yes, and unmistakably, and although by the gay
sincerity of his nature he would win men to like him, wherever he went.
Personal affection may count for too much in my faith that he will
some day be recognised, not only for a true son of Cambridge, but for
a great one in his generation. I put, however, that reckoning on one
side. He did, very gaily and manfully and well, all the work that fell to
his hand; and his end was in this wise. He had, in the first and second
weeks of August, 1914, been eye-witness at Oxford of one of two
amazing scenes—the other simultaneously passing here—when in
these precincts, in these courts of unconscious preparation, by these
two sacred streams, all on a sudden the spirit of youth was a host
incorporate.
* * * * *
The Dean of St. Paul’s returned, the other day, to a rightly
respectful Cambridge, to deliver a Rede Lecture to us on The Victorian
Age. Now he is a fool who denies or doubts Dean Inge to be a great
man of our time—though he may now and then be a little too apt to
regard himself as the only widow of another. Dean Inge, at any rate,
felt himself strong enough to tell you he had no doubt that, to the
historian of the future, the Elizabethan and Victorian Ages will appear
as “the twin peaks in which English civilisation culminated.”
Now I have been talking to you—already through three lectures—
upon the best-beloved writer of that Victorian Age—its most
representative writer, perhaps—and preaching his eminence. But I
should be nervous of claiming quite all that! It seems to me, if I may
put it so without offence, a somewhat complacent view for us to take of
an Age in which we were born—he, to unseal the vials of prophecy, I,
just to happen along with the compensation of a more sanguine
temperament. He admits that he has “no wish to offer an unmeasured
panegyric on an age which after all cannot be divested of the
responsibility for making our own inevitable.” He admits that “the
twentieth century will doubtless be full of interest, and may even
develop some elements of greatness.” But as regards this country, “the
signs are that our work on a grand scale, with the whole world as our
stage, is probably nearing its end.” Well, I dare to say that such talk
from a man of the Dean’s age or mine is more than unhopeful; is
ungrateful:
Difficilis, querulus, laudator temporis acti....
Would he but go back in memory to the tempus actum of August,
1914, it may dawn upon him that “fears may be liars” and the likelier
for that some hopes were not dupes: that some men less gifted, less
eloquent, than he, in those August days of 1914 saw this vision as of a
farther Pacific:
Silent, upon a peak in Darien.
Raleigh at any rate saw it: I would not use extravagant language,
but I verily believe Raleigh, from that hour, saw the assembled chivalry
of those boys of 1914 as a meadow of cloth-of-gold spreading past all
known or prophetical horizons—a prairie, the scent over which was a
scent of sacrifice, at once holy and intolerable. Let me repeat—for one
does not ring changes on the loss of a friend—the mourning bell
strikes once and repeats itself—let me repeat some words written, the
other night, under durance on returning from his funeral:
I
To take up our tale—
It has already been objected against these lectures on Dickens—or
against such parts of them as the newspapers honour me by quoting—
that they treat Dickens as a genius of the first class. That term has little
meaning for me who seldom or never think—can hardly bring myself to
think—of great men in class-lists, in terms of a Tripos. (I reserve that
somewhat crude method of criticism to practise it upon those who are
going to be great men; and even so—if you will credit me—derive
scant enjoyment from it.) But I foresaw the objection, and forestalled it
by quoting a famous saying of Tasso, and I take my stand on that: as I
take not the smallest interest in weighing Chaucer against Pope,
Shakespeare against Milton, Scott against Burns, or Dickens against
Thackeray. Chaucer, Shakespeare, Scott, Dickens—their other
qualities apart—are grand creators, lords of literature all, by this
specific virtue; and, were there sense in challenging, with this quadriga
alone we could securely challenge any literature in any living tongue.
Note you, moreover: it is to this creative power that other artists less
creative, but great and therefore generous, instinctively pay homage:
Dryden, for instance, or Byron:
Or again:
Note you particularly, if you will, the words “planets of its own....” We
talk too often, perhaps (I have talked in this fashion myself
unheedingly), as if these men had been makers of picture-galleries,
lining their walls with lively characters, brilliant portraits. But in truth
neither Chaucer’s Prologue nor Shakespeare’s succession of women,
neither Redgauntlet nor David Copperfield, is a gallery of characters;
but a planet rather, with its own atmosphere which the characters
breathe; in which as proper inhabitants they move easily and have
their natural being: while for us all great literature is a catholic hostelry,
in which we seat ourselves at the board with Falstaff, Dugald Dalgetty,
Sam Weller, the Wife of Bath, Mrs. Gamp and Mrs. Quickly, and
wonder how soon Don Quixote, My Uncle Toby, or The Three
Musketeers will knock in to share the good meat and the wine.
II
So, between a discussion of Dickens’ plots—which we examined a
fortnight ago and found wanting—at once stagey and ill-knit and, at
that, repetitive, poor in invention; and of his characters, which teemed
from his brain in a procession closed only by their author’s death, so
inexhaustibly various and withal so individual, vivid and distinct, that
the critic can scarcely help telling himself, “Here, and only here, must
lie the secret of the man’s genius”; I shall interpose to-day a few words
upon this world of Dickens, with its atmosphere.
For it is a strange world, with an atmosphere of its own, as strange
as itself.
I have already noted some things of that world of his—that it was a
crowded world: a world of the city, of the streets; that his novels, when
they visit the country, take us at a violent rate in post-chaises to find,
with Shenstone,
The warmest welcome at an inn.
For one moment, at the term of Little Nell’s wanderings, in the quiet of
the old schoolmaster’s garden, we almost touch a sense of country
rest and repose. But of real country, of solid growth in rest, of sport, of
gardens, of farms and tenantry, of harvests, of generations rooted,
corroborated in old grudges, old charities; of all that England stood for
in Dickens’ day and, of its sap, fed what Cobbett had already called the
“Great Wen” of London, our author had about as much sense as Mr.
Winkle of a horse, or a snipe.
Now I wish to be rather particularly scrupulous just here: for we are
dealing with a peculiarly, an unmistakably genuine, English writer; who,
himself a child of the streets, acquainted, by eyesight and daily wont,
with an industrial England into which the old agricultural England—
what with railway and factory, gas, and everything extractible from coal
—was rapidly converting itself; did yet by instinct seize on the ancient
virtues. Take away the hospitality, the punch and mistletoe, from
Dingley Dell, and what sort of a country house is left? Why, the
Handley Cross series, for which Messrs. Chapman and Hall intended
Pickwick as a stale challenge, could give Pickwick ten and a beating
from the first. As the season comes round you play cricket at Dingley
Dell, or you skate, or you mix the bowl and turn the toe. But the
stubble-fields are not there, nor the partridges; nor the turnips, nor the
gallops to hounds, nor the tillage and reaping, nor the drowsed
evenings with tired dogs a-stretch by the hearth. Of all this side of
England Dickens knew, of acquaintance, nothing. I am not speaking,
you will understand, of any Wordsworthian intimacy with natural
scenery tender or sublime, of anything imparted or suggested to the
imagination by a primrose or in the “sounding cataract” haunting it “like
a passion.” I am speaking rather of human life as lived in rural England
in Dickens’ time and in some corners yet surviving the week-end habit.
Of these Sabine virtues, of these Sabine amenities and hardships, of
the countryman’s eye on the weather-glass for “snow and vapours,
wind and storm, fulfilling His word,” Dickens (I repeat) had no sense,
having no tradition, of field life, of that neighbourliness which existed in
quiet places and persisted around ancient houses:
III
But I fear we have a great deal more to empty out of this world of
his.
To begin with, we must jettison religion; or at any rate all religion
that gets near to definition by words in a Credo. Religious formulae I
think we may say that he hated; and equally that he had little use for
ministers of religion. I can recall but one sympathetic portrait of an
Anglican parson—the Reverend Septimus Crisparkle, Minor Canon of
Cloisterham—and that in his last book, and with scarcely a shadow of
a quality impinged upon it by his vocation, by Holy Orders: Crisparkle,
Minor Canon and muscular Christian, well visualised, is a good fellow
just as Tartar in the same story is a good fellow: nothing more. George
Eliot and Charlotte Brontë, who disliked ecclesiastics, have to give
them understanding, even sympathy, in some degree. Dickens merely
neglects them. Unaccredited missionaries of the Gospel are humbugs
all, in Dickens; uneducated Pharisees, Stiggins’s, Chadbands;
devourers of widows’ (and widowers’) houses; spongers on the
kindness and credulity of poor folk just a little more ignorant than they,
while far more innocent. As for sacred edifices—cathedrals, churches
—Dickens uses them as picturesque, romantic, mouldy, just as suits
his convenience—a last harbourage for Little Nell or an object with a
steeple suggesting to Mr. Wemmick—“Hullo! here’s a church!... let’s
get married!” If Dickens ever conceives of a church as a tabernacle of
any faith, I have yet to find the passage.
You must remember that, while Dickens wrote, Tractarian
Movements, Unitarian Movements, Positivist Movements—Wiseman’s
claim, Newman’s secession, the Gorham judgment, Bishop Colenso’s
heresies—Darwin’s hypothesis, Huxley’s agnostic rejection of doctrine,
and so on—that all these were agitating men’s thoughts as with a
succession of shocks of earthquake. But all these passed Dickens by,
as little observed as felt by him: simply disregarded.
IV
Of political thought, again, his world is almost as empty. He was, in
his way, an early-Victorian Radical. When he saw a legal or political
hardship which hurt or depressed the poor, conventions injurious to the
Commonwealth—the Poor Laws, Debtors’ Prisons, the Court of
Chancery, the Patent (or Circumlocution) Office and so forth, with the
people who batten on such conventions, taking them for granted as
immutable—Dickens struck hard and often effectively. But he struck at
what he saw under his own eyes. Beyond this immediate indignation
he had no reasoned principles of political or social reform. I have to
hand, at this moment, no evidence to confirm a guess which I will
nevertheless hazard, that he hated Jeremy Bentham and all his works.
Certainly the professional, bullying, committee-working philanthropists
—Mrs. Jellaby and Mr. Honeythunder, whose successors pullulate in
this age—were the very devil to him. His simple formula ever was—in
an age when Parliament carried a strong tradition of respect—“Yes, my
Lords and Gentlemen, look on this waif, this corpse, this broken life.
Lost, broken, dead, my Lords and Gentlemen, and all through your
acquiescence, your misfeasance, your neglect!” To the immediate
reader his message ran simply, “Take into your heart God’s most
excellent gift of Charity: by which I mean let Charity begin at home, in
that kingdom of God which is within you, let it operate in your own daily
work; let it but extend to your own neighbours who need your help; and
so—and only so—will the city of God be established on earth.”
V
I perceive, Gentlemen, that in my hurry I have let slip a great part
of the secret, and so will add but this in hasty summary, catching up,
before retreat, my cloak of advocatus diaboli:
(1) In the first place, Dickens’ world was not a world of ideas at all,
but a city “full of folk.” Compared with the world as Carlyle saw it, or
Clough, or Martineau, or Newman, or Arnold, it is void of ideas, if not
entirely unintellectual.
(2) Moreover, and secondly, it is a vivid hurrying world; but the
characters in it—until you come to Pip, say, in Great Expectations—are
all quite curiously static; and, as the exception proves the rule, I am not
afraid to back this assertion against Martin Chuzzlewit, for example, in
which young Martin is, of set purpose, to be converted out of the family
selfishness. Things happen to Mr. Pecksniff, to Little Nell, to Mr.
Micawber, to Mr. Dombey, to Bradley Headstone and Eugene
Wraybourne, to Sally Brass and her brother: but, as the rule, these
things do not happen within them, as such things happen in the soul of
any protagonist in a novel by Tolstoy or Dostoievsky, or as they are
intended and traced as happening (say) in Romola. Dombey’s
conversion is a mere stage-trick; and, for Micawber’s apotheosis as a
prosperous colonist, let him believe it who will.
VI
Further—and to conclude on this point—over and beyond its
infertility of thought, Dickens’ is a world in which technical or
professional skill never comes into play to promote anything on earth.
We have spoken of his clergy. His innumerous lawyers, from the Lord
Chancellor to Messrs. Dodson and Fogg (assisted by his own personal
experience in the Law’s service), draw their money for exculpating the
guilty or slowly killing the righteous through hope deferred:
VII
What remains, then, of a world thus emptied of religion, thought,
science?
I reserve the answer for a minute or two.
But I start my approach to it thus: Be the world of Dickens what
you will, he had the first demiurgic gift, of entirely believing in what he
created. The belief may be as frantic as you will: for any true artist it is
the first condition. Well, this remains: nobody has ever doubted that, in
the preface to David Copperfield, he wrote the strict truth:
VIII
Having that, you have artistic sincerity: of which I wonder, as
experience enlarges, how many faults it cannot excuse—or indeed
what is the fault it cannot excuse.
All that remains of the merely artistic secret has been summarised
by Mr. Saintsbury:
Well, there you have the artistic secret of Dickens’ world accurately
given, and not by me. It lies in the combination of the strictest realism
of detail with a fairy-tale unrealism of general atmosphere.
Let me give you, to illustrate this, a single instance out of many. In
his Christmas story, The Perils of Certain English Prisoners—an
adventurous story of the sort that Stevenson loved and some of you
make the mistake of despising—a handful of a British garrison with
their women and children in a stockaded fort in South America tensely
await an attack of pirates hopelessly outnumbering them. Now listen to
one paragraph:
(It is a corporal of Marines who tells it.)
Defoe within his limits does that sort of thing to perfection: but then
Defoe’s world observes the limits of the “real” (as we absurdly call
everything that is not spiritual), has little emotion, scintillates scarce a
glimmer of humour. Dickens handles it in a phantasmagoric world,
charged even to excess with emotion, and is not in the least afraid to
employ it—I quote Mr. Saintsbury again:
IX
Yes, but there is something else.
What else—no mere artistic secret—ties this phantasmagoric
world to ours and makes it universal with ours, conterminous, and so
real?
It is no dodge or trick of artistry that can work so incredible a feat—
that can open our hearts to such beings as Dick Swiveller and Mrs.
Gamp (whom in private life you or I would avoid like the plague)—to
enjoy their company, to hang on every word they utter. It must be some
very simple catholic gift, thus to unite the unreal with the real, thus to
make brothers and sisters of all men and women, high or low.
It is: nor shall I delay you by elaborate pretence to search for it. For
I know; and you know, or will recognise it as soon as I utter the word. It
is Charity; the inestimable gift of Charity that Dickens flings over all
things as his magic mantle: so that, whether there be prophecies, they
shall fail; whether there be tongues, they shall cease; whether there be
knowledge, it shall vanish away; and whether there be little critics
tormented about Dickens’ style, in the folds of that mantle they shall be
folded and hushed:
That is the last secret of Dickens: and that is what George Santayana
means when he writes:
I
“I REMEMBER,” says Henry James in a wise little Essay on The Art
of Fiction—