logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

Testing Python: Applying Unit Testing, Tdd, BDD and Acceptance Testing

Testing Python: Applying Unit Testing, Tdd, BDD and Acceptance Testing (Paperback)

David Sale (지은이)
John Wiley & Sons Inc
82,660원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
61,990원 -25% 0원
1,240원
60,750원 >
yes24 로딩중
교보문고 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

Testing Python: Applying Unit Testing, Tdd, BDD and Acceptance Testing
eBook 미리보기

책 정보

· 제목 : Testing Python: Applying Unit Testing, Tdd, BDD and Acceptance Testing (Paperback) 
· 분류 : 외국도서 > 컴퓨터 > 소프트웨어 개발/엔지니어링 > 일반
· ISBN : 9781118901229
· 쪽수 : 240쪽
· 출판일 : 2014-07-28

목차

Introduction 1

CHAPTER 1 A History of Testing 5

You Do Test, Don’t You? 7

Fundamentals and Best Practices 7

Python Installation 8

Linux 8

Mac 8

Windows 8

Pip 9

Virtualenv 9

Source Control (SVN, Git) 10

Interactive Development Environment (IDE) 11

Summary 12

CHAPTER 2 Writing Unit Tests 15

What Is Unit Testing? 15

What Should You Test? 17

Writing Your First Unit Test 17

Checking Values with the assertEquals Method 18

Checking Exception Handling with assertRaises 20

Following the PEP-8 Standard 22

Unit Test Structure 23

Additional Unit Test Examples 24

Getting Clever with assertRaises 24

Making Your Life Easier with setUp 25

Useful Methods in Unit Testing 27

assertEqual(x, y, msg=None) 27

assertAlmostEqual(x, y, places=None, msg=None, delta=None) 27

assertRaises(exception, method, arguments, msg=None) 28

assertDictContainsSubset(expected, actual, msg=None) 28

assertDictEqual(d1, d2, msg=None) 28

assertTrue(expr, msg=None) 28

assertFalse(expr, msg=None) 29

assertGreater(a, b, msg=None) 29

assertGreaterEqual(a, b, msg=None) 29

assertIn(member, container, msg=None) 30

assertIs(expr1, expr2) 30

assertIsInstance(obj, class, msg=None) 30

assertNotIsInstance(obj, class, msg=None) 30

assertIsNone(obj, msg=None) 30

assertIsNot(expr1, expr2, msg=None) 31

assertIsNotNone(obj, msg=None) 31

assertLess(a, b, msg=None) 31

assertLessEqual(a, b, msg=None) 31

assertItemsEqual(a, b, msg=None) 31

assertRaises(excClass, callableObj, *args, **kwargs, msg=None) 32

Summary 32

CHAPTER 3 Utilizing Unit Test Tools 33

Using Python’s Nose 33

Installing Nose 34

Using Nose’s Best Features 35

Running Specifi c Test Files 35

Getting More Detail with Verbose 35

Debugging Support with PDB 36

Checking Your Coverage 38

Coloring your tests with Rednose 39

PyTest: An Alternative Test Runner 40

Installing PyTest 40

PyTest’s Best Features 41

Running Specifi c Tests 41

Viewing Detail with Verbose and Summary 42

Debugging with PDB 43

Checking Your Coverage with PyTest 45

Choosing Between Nose and PyTest 46

Mock and Patch Tricky Situations 46

Installing the Mock Library 47

Mocking a Class and Method Response 47

When Mock Won’t Do, Patch! 50

The Requests Library 50

Patch in Action 50

Advanced Mocking 52

Summary 53

CHAPTER 4 Writing Testable Documentation 55

Writing Your First Doctest 56

Th e Python Shell 56

Adding Doctests to a Method 57

Running Your Doctests 58

Handling Error Cases 59

Advanced Doctest Usage 61

Improving Doctests with Nose Integration 62

Summary 65

Resources 65

CHAPTER 5 Driving Your Development with Tests 67

Agile Development 67

Adopting the Agile Process Now 68

Ethos of Test Driven Development 70

Advantages of Test Driven Development 72

Ping-Pong Programming 72

Test Driving Your Problem 73

Writing Your Failing Test 74

Making Your Test Pass 75

Driving More Features with Tests 75

Wrapping Up the Task 77

Summary 82

Resources 83

CHAPTER 6 Writing Acceptance Tests 85

What Is Acceptance Testing? 85

Anatomy of an Acceptance Test 87

Using Gherkin Syntax 87

Th e Magic Is in the Step File 88

Goals of Acceptance Testing 89

Implementing Developer and QA Collaboration 90

Letting Behavior Drive Your Problem 90

Writing Your Failing Acceptance Test 90

Defining Your Steps 92

Implementing Your Code 94

Developing More of the Feature 95

bank_apppy 96

indexhtml 97

Delivering the Finished Article 98

Advanced Acceptance Test Techniques 102

Scenario Outline 102

Tables of Data in Scenarios 103

Summary 104

Resources 105

CHAPTER 7 Utilizing Acceptance Test Tools 107

Cucumber: The Acceptance Test Standard 107

Lettuce in Detail 108

Tagging 108

Fail Fast 112

Nosetest Integration 114

Robot: An Alternative Test Framework 115

Installing Robot 116

Writing a Test Case 116

Implementing Keywords 117

Running Robot Tests 119

Summary 123

Resources 123

CHAPTER 8 Maximizing Your Code’s Performance 125

Understanding the Importance of Performance Testing 126

JMeter and Python 126

Installation 127

Configuring Your Test Plans 128

Utilizing Your Test Plans Effectively 135

Code Profiling with cProfile 135

Run a cProfile Session 136

Analyzing the cProfile Output 142

Summary 144

Resources 144

CHAPTER 9 Looking After Your Lint 145

Coming to Grips with Pylint 146

Installing Pylint 146

Using Pylint 146

Understanding the Pylint Report 149

The Module Block 149

The Messages by Category Section 149

The Messages Section 150

The Code Evaluation Score 150

The Raw Metrics Section 150

The Statistics by Type Section 150

Customizing Pylint’s Output 150

Telling Pylint to Ignore Errors 153

Covering All Your Code with Unit Tests 154

Installing Coverage 155

Using Coverage 155

Advanced Coverage Options 157

Producing an HTML/XML Report 157

Setting a Minimum Coverage Threshold 159

Restricting Coverage to a Specific Package 159

Ignoring Coverage 160

Summary 161

Resources 162

CHAPTER 10 Automating Your Processes 163

Build Paver Tasks 164

Installing Paver 164

Creating a Paver Task 164

Executing Paver Tasks 165

Defi ning a Default Build 166

Setting Up Automated Builds 168

Installing Jenkins 169

Adding Coverage and PyLint Reports 175

Generating a PyLint Report 175

Generating a Coverage Report 176

Making Your Build Status Highly Visible 176

Summary 181

Resources 181

CHAPTER 11 Deploying Your Application 183

Deploying Your Application to Production 184

Creating a Deployable Artifact 185

Defining the Paver Tasks 185

Incorporating Packaging into the Build 187

Enabling Archiving on Jenkins 188

QA Environment 189

Implementing Stage and Production Environments 190

Implementing a Cloud Deployment 191

Creating a Heroku Account 192

Creating a Small Application 193

Setting up Git for Heroku 193

Deploying the Application to Heroku 194

Smoke Testing a Deployed Application 195

Example Application Stack 196

Smoke Test Scenarios 197

Implementing Smoke Tests 198

Summary 200

Resources 201

CHAPTER 12 The Future of Testing Python 203

Stub the Solution 203

Making Deployment Natural 205

Automating (Nearly) Everything 206

Working in Public 207

Collaborating on Step Definitions 208

Final Thoughts 209

Resources 210

Index 211

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책