Вы находитесь на странице: 1из 320

32.973.

2-018-07
004.415
13

. , . , .
13 Google. .: , 2014. 320 .: .

ISBN 978-5-496-00893-8

Google: , , , . , Google, . Google,


, . : , , .

12+ ( 12 . 29
2010 . 436-.)

32.973.2-018-07
004.415

Authorized translation from the English language edition, entitled How Google Tests Software; ISBN 9780321803023; by James
A. Whittaker, Jason Arbon, Jeff Carollo; published by Pearson Education, Inc Copyright 2012 Pearson Education, Inc
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical,
including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.
Pearson Education, Inc. .
.
, , , .
, ,
,
.

ISBN 978-0321803023 .
ISBN 978-5-496-00893-8

Pearson Education, Inc., 2012


, 2014
, 2014
, , 2014

...........................................................................10
.................................................................................12
..........................................................................16
..............................................................................................................22
..................................................................................................24
.......................................................................................................25

.................................................................................................................27
1. Google..................28
......................................................................................33
.......................................................................................................................34
................................................................................37
, , .............................................................................................38
...........................................................................................................40

2. ......................................................................44
..................................................................46
..................................47
?...................................51
.........................................................................................52
...............................................................................................54
.....................................................................................55

.....................................................................................57
.............................................................................58
.......................................................................................................59
....................................................63
...............................................................................................74
..............................................................................75
...........................77
..............................................................79
.......................................................................81
-...............................................................................................87
-..........................89
........................96
................................ 103
WebDriver ............................ 105

3. ...................................................... 109
, ...................................................... 109
................................................................................. 110
.............................................................................. 114
A Attribute....................................................................................... 117
C Component................................................................................... 121
C Capability..................................................................................... 122
..................................................................................................................... 132
................................................................................................ 133
................................................................................................ 138
........................................................................................... 141
-.............................................................................................. 145
.................................................................... 150
Buganizer......................................................................... 151
............................................... 164
............................................... 168
Google................................................................. 173
............................................................ 178
Quality Bots................................................................................. 182
BITE............................................................................................... 195
BITE.............................................................................. 197
BITE................................................................................... 199
BITE............................................... 201
BITE................................................... 205
BITE................................................................................................... 205
Google Test Analytics............................................................................................ 206

................................................................................... 212
...................................................................................... 216
Google Docs .......... 218
YouTube ........................... 224

4. -........................................................................................... 231
-.................................................................................... 231
.................................... 233
............................................................................................................... 235
, - Gmail.................................... 237
, Android....................................... 244
, - Chrome............................... 249
................................................................................ 254
,
Search Geo...................................................................................................... 255

............................................................................................ 259
,
Google......................................................................................... 263
- .................................................. 268
................................................................... 272

5. Google............................................... 279
Google............................................ 279
............................................................. 282
............................................... 283
- -............................................ 285
........................................................... 285
...................................................................................................... 286

. - Chrome OS............................................................. 287


............................................................................................................ 287
..................................................................................................... 288
...................................................... 289
......................................................... 289
........................................................................... 290
................................................... 290
............................................................................. 291
.................................................................................................. 291
.................................................................................................... 291
-.................................................................................... 292
............................................................................... 292
.................................................................................................... 292

........................................................................................... 293
,
......................................................................... 293
Autotest........................................................... 293
....................................................................................... 293
............................................................... 294
....................................................................... 294
AppManager ............................................................... 294
...................................................................................... 295
...................................................................................................... 296
................................................................................................................. 296
..................................................................... 298
.................................................................. 299

. Chrome.......................................................... 300
.................................................................................................... 300
........................................................................................................ 301
.................................................. 302
............................................................................. 302
.................................................. 302
................................................................................................... 303
Chrome...................................................... 303
...................................................................................... 303
.................................................. 304
........................................................................................ 304
Chrome................................................................................. 305
........................................................................... 305
Chrome OS........................................................ 305
........................................................................................... 306
Chrome.......................................................................... 306

. .................................... 307
BITE....................................... 307
QualityBots ...................................................................................... 310
RPF: Record Playback Framework......................................................................... 312
Google Test Analytics ............................................ 315
.......................................................................................................... 315
......................................................................................................... 315
............................................................................................... 316
............................................................................................................. 316

Google, Microsoft
,
.
.
,
, , ,
Starbucks.

, , .

2006
. ,
. ,
. .
, ,
, . ,
. , .
, , . , ,
, .
. , .
.
,
. ,
, .
.
, ,
. ,
, , .
Google , ,
. , .
Google ,
.
10

Google , Google
, , ,
.
, Google .
, , Google
.
.
2009 , 2010- Swiss Testing Day.
.
-.
. 2011- -
Google EuroSTAR.
, Google
.
. , .
. , , - : , ,
.
, .
,
. .
Google, , . , .
, . Google
: , , .
: , ,
. , ,
.
, Google, Google. !
, : , , , , , ,
, , . ,
. ,
.

P.S. :
?

, ,
. ,
. . , ,
. , ,
. ,
, . Si, senor ,
. , , ,
.
, .
, , .
.
?
, ,
1 ? ,
? ,
, , , .
. .
, . ,
1 , ? !

12

, , , .
. , ,
. ,
.
, ,
.
, Google
,
- XXI .
, Google
. ,
.
2001 Google .
! , TDD (Test-Driven Development,
1) (
JUnit) .
, . .
,
.
,
. AdWords: ,
,
-. . ,
, . Google ,
-.
JUnit . .
.

Thanks God, It's Friday! ,
. ,
, , , 1 ,
, , . ,
. . .

13

. ,
?
, . . ,
- -
. ,
. ,
- . ,
, .
,
. !
? , .
, ,
, , . Google . ,

. ,
, . ,
. , . ,
,
Google. ,
, . ,
, , , .
, Google XXI,
-,
. , ,
, . ,
Google.
: ,
. Google, , , , Chrome,
Chrome OS . -
Google. , ,
Google. , ,
!
Google 200 20000 , ,
-

14

. .
. ,
,
Google.
Google . . ,
Google ,
, . , , !

Google. 2001 Google AdWords,
, - . The Way of Testivus Beautiful
Tests OReilly Beautiful Code.
: ! , , .
, . ,
!

Google 2005 . , ,
. Google ,
. :
-
.
, ,
, , Thanks God, Its Friday.
, . , ,
, .

Google. , . , - !
Google, .
50 ,
. .
. ,
Google.
. Google
. Google , -

16

, .
. ,
, . . ,

.
Google
. , ,
,
. Google
. - . . ,
Google.
, . ,
, , .
, ( ), -
. - : , ,
. ,
, , . -
, , .
: Google . ,
.
.
- Google,
.
, ,
:
, . , ,
. ,
.
, , .
.
, , ,
, , .
, . ,
,
. -

17

.
, , Google,
, .
,
.
, -, ,
! , , ,
: ?
. -
.
, , Google
,
,
- . Google , ,
.
. ,
( ) . ,
. ,
.
, ,
. , , .
,
,
.
, ,
, .
,
, . ,
.
, , .
, ,
.
, : Google. ,
- , .
. ,
, . . ,

18

. ,
,
.
,
, .
.
. , -
, ,
. , ,
. ,
() .
, . ,
!.
, , ,
. , .

. .
,
. . ,
, ,
.
,
. - . .
,
, .
, .
. Google
- (YouTube, Google Docs ), . ,
, ,
.
, .

,
.
.
- . . 2007

19

.
. , . , .
, ,
. ,
, .
- (
).
- .
,
. , , .
- . , . , ,
.
, , ,
. ,
.
, , . ,
, , . , ,
.

.
. , . ,
, . , ,
.
,
.
, Google . .
,
, , .
.
.

20

,
. , .
- : Google
.
? , ,
, .
, Google
.


. ,
1200 ,
2005 ,
Google. ,
Google .
, ,
. ,
, .
, .
, Google.
, , , , Google. Google Microsoft
. Google , .

.
. - ,
Google. ,
-
, .
Google ,
.

. ,
. . - . 2011
Google+ .
Google . ,
Google , .
, , .
,
, .
, . , Google , , , , .
Google
, : .
, . , ,
, ,

22

. , , ,
.
Google ,
. ,
( , ) , ,
Google.
.
.
, , ,
. , ,
.

, .
, Google.
.
.
(Software Engineer in Test, SET),
Google. ,
. ,
.
(Test Engineer, TE).
, .
Google
. . , ,
.
,
Google.
, Google.
, ,
. , Google,
Google . ,
, , - .

23


- -
. .
,
www.informit.com/title/9780321803023.


, .
. , ,
Google , .
.
,
. How to Break, Exploratory Testing1
, , .
. , , ,
Google, , ,
.
, IT-
, , Google
, . , , ,
, , Google. -
!
,
. , Google
. ,
.
, .
.
, . ,
-, - .
1 How to Break Software: A Practical Guide to
Testing ( : ) Exploratory Software
Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design ( : , , -) . . .

24

,
( , ),
, .
, ,
.
Google . - .
Google, . ,
, Google,
, . , , ,
, .
: - ,
.
.
,
() , !



,

Google,
.
Google,

.
,
, : . ,
, , , , , ,
, , .
, , .

25

, :
, , , , ,
, , , , , ,
, , .
,
. Google,
- .
, . , ,
.

Google1, Chrome, Maps - Google. Microsoft,


. .
Google, Google
Desktop, Chrome Chrome OS.
. Google Microsoft.
, Google Voice, Toolbar, Chrome Chrome OS.
Google, . 2010
, Google+ API. Google
Microsoft.

1 2012 Google Microsoft. . .

27

Google

, . ,
, .
:
Google ?.
,
. Google,
.
, .
(
, - )
, , .
- . -,
. , Google ,
. -,
Chrome Chrome OS (,
), Google .
Google.
28

Google , .
, ( - )
.
- , , , . , ,
Google . Google , , , . , .

Google , .

2010- Chrome OS,


, .
. Google
1 , .
, , .
Google , ,
Google .
, . Microsoft, , -
How We Test Software at Microsoft, ,
. Microsoft . . Microsoft
. ,
, . .
, .
, Microsoft ,
. Google ,
. 1200 . ,
, ,
. Google
, GTAC2 .
1 http://googletesting.blogspot.com/2011/01/how-google-tests-software.html
2 GTAC Google (Google Test Automation Conference,
www.GTAc.biz).

29

,
.
, Google.
, Google
. . Google
. , .
, Google, ,
, , . ,
, ,
, .
-, . , Google ,
.
Microsoft, , .
,
. .
, .

, Google ,
.

,
Google. . , , Google ,
.
, .
, - , Google. ,
.
Google .
, ,
. ,
.
, ,
, . -
, .
, .
30

- ,
. ,
.

Google -.
, , ( Chrome) , -
. , . ,
: , ,
, ,
. .
: .
.
Google . Google
. Google
-, , , . ,
, .
. . .
. ,
Google . ,
Google , . Google ,
.
, ( )
Google. :
.
, Google . , Google
,
, . ,
Google ,
, .
Google :
,
. .
31

,
. ,
. ,
, ,
. , ,

.
.
. , , :
.

, , : .

Google ?
, , Google
, . - . , Google,
, (. 1.1). / Google ,
.
. .
, .

. 1.1. Google

32

.
, . , - . , - .
.
, .


,
. , ,
,
. , ,
. ,
.
.
, , . ,
, ?
: . . . -
. ,
. .
: ,
.

. : ,
.

:
, .
, . .
, .
. , ? .
? , . ?
33

. Google . ,
, , ,
.
, . , . , , ,
.
,
, . Google
, .
. , ?,
1 .
.
, .

.
, .

, ( ),
, . ,
, . , ,
. , .

- . . , .
(Software Engineer, SWE) .
, .
,
1 http://googletesting.blogspot.com/2007/01/introducing-testing-on-toilet.html

34

, -1. ,
TDD -, , , , .
, : ,
. , :
,
. 100%
.
(Software Engineer in Test, SET)
, . ,
. ,
, -
. , , ,
.
100% ,
, .

, , ,
.
, .

(Test Engineer, TE) ,


. Google

. ,
, ,
.
, .
,
. , 2.
1 - ( ) , .
. . .
2 , , . . .

35


. , ,
.

,
. , , ,
TDD, -
.
.
. , (stubs),
(mocks) (fakes), . .
, ,
.
.
, ,
-.
, .
. .
.
, ,
. .
, .
,
, , , , ..

, -, , , - . ,
- ,
. ,
.

36


, ,
. , . ,
.
, , .
,
, .
, .
.

. -?

,
, .
,
.
.

, Google. ,
, Focus Area (FA). Client ( Chrome, Google Toolbar ..), Geo ( Maps, Google
Earth ..), Ads, Apps, Mobile ..
- .
, .
, .

. , , .
, .
, , . ,
, , ,
- . , , .
. -

37

, .
,
- -.
. ,
,
. , , .
,
.


. ,
,
. , . ,
.

. ,
.
, Geo, ,
, Chrome. , .
, 18
, (, , ) . , .
,
. Google , , ,
. Google , -,

, .

, ,
, Google
, , .
.
38

,
, .
Gmail, - .
, . , 99,99%
. Android
G1 , .
, Nexus. ,
, , . , , ,
.

Google
.
, .
, :
, , , - .

, .
-,
. Chrome ,
Google,
,
. .
: , ,
, . , ?
( ,
), ,
.
, .
, . ,
(
) , .

Android
. ,
, .

39

: .
,
- (
). , ,
,
. ,
. ,
.
: ,
.
.
-,
.
,
,
.
- : ,

, . ,
.
, , .
.


, , , . , . ,
. ,
.. , , . .
, , .

40

, , , , ,
.

( ) .
. , , ,
. ,
. , ,
.
.
(
), ,
. .
, ,
. ,
?
.
. ,
, .
. . ,
. ,
.
( ) .
, ?
( ) .
,
, . , , .
. ,
.
, ,
? ,
, .

41


.
. , .

, , ,
1. , Google
, , . -
,
,
,
. 2.
, , - . Google
,
. Google
, ,
. ,
. ,
, .
. , .
, ,
.
, .
, (,
), .

,
. , .

1 , . , -, BVT (Build
Verification Test), . . , . , .
2 , , Google , ( )
. ,
.

42

, Google , , ,
. , ,

. -
1. , ,
, , .

,
Google.

1 Google , .

. .
, . ,
, . , ,
, , . ,
, , ,
. -
, -.
, . , , , ,
.
, ,
. , , ( ).
, .
: (harness), ,
(mocks) (fakes). ,
,
. , .
, , .
.

44

.
. ,
, . .
, ,
,
. ,
, , , .


,
. ,

, ,
. ,
, -, , .
, , , : .
,
. : ,
, . .
,
.
, ,
- .
, :
, , - .
,
? !
, . Google, , ,
. , , . Google

, ,

45

1. -
Google .
, Google ,
, ,
. - .
.
Google . - ,
. .
Google
, . , ,
. .
, .
.
, .
,
, .

, , , .
,
. . , 2
- Google. ,
3.

1 , Google
, .
2 Google.
3 , , .

46



,
, . , . , Google , , .
, . ,
. Google
.
. Google
,
, , ..

, . ,
.

: ,
, , 1. ,
. -
, ,
, , .

. Google ,
( !) .

1 Google , 20% Google. ,


, .
, Google . , , . , ,
, ,
. , Google
, ,
. ( Google . . .)

47

, , ,
.
Google ,
.

, , ,
.

,
. ,
.
.
, -
.
, , .
, .
,
.
. ,
.
, .
,
. , .
,
. 1.
Google -, ,
, . 1 Google .
, , . . ,
! , ,
.

48

Google (C++, Java, Python


JavaScript).
, .
.
OS, .
Linux, , , , .
- 1. ,
, , ,
.
, ,
. , Linux. , , Google, ,
Linux.
,
, , , .
.

Google :
Linux ,
, , ,
,
. , ,
.


, , . ,
(C++, Python Java), .
, . , ,
.
1 Google Android ChromeOS,
.

49

.
1.
. , .
2. (, )
.
3. -, ,
.
4. -.
5. . ,
.
6. ,
.
7. - ( -
), -.
: ,
, . ,
Google TDD (Test-Driven Development,
), 3 1 2.
,
, .
, . Google, :
;
( ,
);
-, .
Google .
1:1 .
, , . , .
,
.
, .
50


, .
, , .
, ,

.
, . . , .
, , . ,
, .
.
, - . . .
.

?
,
Google.
.
, 100% . , ,
.
- , . ,
.
, ,
.

, .

51

, . , . ,
.
, .

, .
, . ,
,
, .
, . ,

Google. , .
, , ,
. :
. Google
. , ,
. , , ,
, - .

. .


Google , . ,
. :
, ,
Google.
Gmail Chrome OS. ,
. ( )
, , .
.
,
, Google. .
52

, .
, ?
,
, .
, , , -
.
.
, . , ,
. ,
. ,
.
.
Google , .
,
, . ,
, .
Google. ,
, . Google .
Chrome OS .
. , , .
,
Google, .
, .

, , ,
.
, .
Google. . ,
, - .
Chrome OS ,
, , -
. ,
, .
53

. , ,
- .


, ,
.
, .
:
, . ,
, , ,
.
Gmail Chrome .
. , .
, , ,
, ,
.
,
, ,
.
. , , ,
. , , ,
. ,
.
,
,
. . ,
, . , , ,
, .
,
.

. Google ,

54

,
.
.
,
.

( ).
, , .
,
.


Google . , .
, , .
. .
.
. ,
.
,
. ,
. ,
, .
:
.
, . ,
.
,
.


, .

55

.
,
.
.
, , . .
,
.
, .
, , , .
.
,
, .
.
,
,
.
,
, . , , . :
. , , ,
, . .
. ,
. .
.
. , .
, ,
.
. , .
?
?
. ? ?
56

? ?
?
.
? ,
?
? Google?
protobuf ( )?
. , ? ?
, , .

? ,
, ,
.

,
. .

, , .
, , -
,
. , .


Google ,
. Google
Protocol Buffer1 .
Protobuf , , . ,
XML, , .
1 Protocol Buffer Google , : http://code.google.
com/apis/protocolbuffers/

57

Protocol Buffer
(Java,
C++ Python). Protocol Buffer
. , protobuf-
, .
protobuf-,
, . ,
.
, , . ,
. ,
, .
.
, .

,
.


,
.
.
.
, .
,
, . , .
,
.
,
.
, ,
. , 58

,
.

Google .
, , , .
,
.
, .
,
, , .
.
:
.
,
: ,
. ,
. .

, .

.
,
,
.
.
.
,
, -.
, . ,
, Google.
59

, Google
-. , , , ,
.
.
, ,
-, .

Google -. ,
, , , .

Google .
, .
.
, ,
. ,
Google Mondrian, ,
. Mondrian
1.
, ,
.
, , .

, .
. Google C++,
Java, Python JavaScript. ,
, ,
2.
, Mondrian. ,

Google, , ,
, .
. , Mondrian
1 Mondrian App Engine : http://code.google.com/p/
rietveld/
2 Google C++ : http://google-styleguide.googlecode.com/
svn/trunk/cppguide.xml

60

.
.
,
.
,
, .
. ,
, . , ,
.
main .
. ,
,
.
.

- Google . , - .
, ,
.
. ,
, . , .
, - . -
,
. , -
,
.
-.

61

. ,
.
.
.
,
, .
.
.
,
- .
, ,
.
. ,
.
,
Google . ,
.
. ,
, .

.
.
.
, ,
. ,
. :
.
,

. ,
. , ,
.
.

.
62

Google
.
, ,
, .
, - , Google .
, .
. Test
Automation Program (TAP). , TAP . Google,
Chromium Android.
.
,
, . ,
,
, , -.
PASS FAIL
. ,
,
-.

, . ,
.
, .
-,
URL- Google Google-. HTML
ULR- HTTP GET
Google :
GET /addurl?url=http://www.foo.com&comment=Foo+comment HTTP/1.1

- : AddUrlFrontend,
HTTP, , AddUrlService.
63

AddUrlFrontend, , , ,, ,
Google Bigtable1 Google File System2.
:
$ mkdir depot/addurl/

AddUrlService Protocol
Buffers3:
File: depot/addurl/addurl.proto
message AddUrlRequest {
required string url = 1;
optional string comment = 2;
}

// The URL address entered by user.


// Comments made by user.

message AddUrlReply {
// Error code if an error occured.
optional int32 error_code = 1;
// Error mtssage if an error occured.
optional string error_details = 2;
}
service AddUrlService {
// Accepts a URL for submission to the index.
rpc AddUrl(AddUrlRequest) returns (AddUrlReply) {
option deadline = 10.0;
}
}

addurl.proto : AddUrl
Request AddUrlReply (RPC, Remote Procedure) AddUrlService.
AddUrlRequest, ,
url , comment .
AddUrlReply ,
error_code error_details .
, , URL- ,
, .
Google: .
1 http://labs.google.com/papers/bigtable.html
2 http://labs.google.com/papers/gfs.html
3 http://code.google.com/apis/protocolbuffers/docs/overview.html

64

AddUrlService ,
AddUrl, AddUrlRequest AddUrlReply.
AddUrl - 10 ,
. AddUrlService
,
,
addurl.proto.
'= 1'
. , .
, - uri AddUrlRequest
. :
message AddUrlRequest {
required string url = 1;
optional string comment = 2;
optional string uri = 3;
}

// The URL entered by the user.


// Comments made by the user.
// The URI entered by the user.

, url uri. ,
:
message AddUrlRequest {
required string uri = 1;
optional string comment = 2;
}

// The URI entered by user.


// Comments made by the user.

addurl.proto,
proto_library, C++,
addurl.proto, addurl
C++.
Java Python.
File: depot/addurl/BUILD
proto_library(name="addurl",
srcs=["addurl.proto"])

, addurl.proto BUILD.
Protocol Buffers, addurl.pb.h addurl.pb.cc addurl, .
AddUrlFrontend. AddUrlFrontend
addurl_frontend.h. .

65

File: depot/addurl/addurl_frontend.h
#ifndef ADDURL_ADDURL_FRONTEND_H_
#define ADDURL_ADDURL_FRONTEND_H_
// Forward-declaration of dependencies.
class AddUrlService;
class HTTPRequest;
class HTTPReply;
// Frontend for the AddUrl system.
// Accepts HTTP requests from web clients,
// and forwards well-formed requests to the backend.
class AddUrlFrontend {
public:
// Constructor which enables injection of an
// AddUrlService dependency.
explicit AddUrlFrontend(AddUrlService* add_url_service);
~AddUrlFrontend();
// Method invoked by our HTTP server when a request arrives
// for the /addurl resource.
void HandleAddUrlFrontendRequest(const HTTPRequest* http_request,
HTTPReply* http_reply);
private:
AddUrlService* add_url_service_;
// Declare copy constructor and operator= private to prohibit
// unintentional copying of instances of this class.
AddUrlFrontend(const AddUrlFrontend&);
AddUrlFrontend& operator=(const AddUrlFrontend& rhs);
};
#endif // ADDURL_ADDURL_FRONTEND_H_

AddUrlFrontend,
addurl_frontend.cc, AddUrlFrontend.
.
File: depot/addurl/addurl_frontend.cc
#include "addurl/addurl_frontend.h"
#include "addurl/addurl.pb.h"
#include "path/to/httpqueryparams.h"
// Functions used by HandleAddUrlFrontendRequest() below, but
// whose definitions are omitted for brevity.
void ExtractHttpQueryParams(const HTTPRequest* http_request,
HTTPQueryParams* query_params);

66

void WriteHttp200Reply(HTTPReply* reply);


void WriteHttpReplyWithErrorDetails(
HTTPReply* http_reply, const AddUrlReply& add_url_reply);
// AddUrlFrontend constructor that injects the AddUrlService
// dependency.
AddUrlFrontend::AddUrlFrontend(AddUrlService* add_url_service)
: add_url_service_(add_url_service) {
}
// AddUrlFrontend destructor - there's nothing to do here.
AddUrlFrontend::~AddUrlFrontend() {
}
// HandleAddUrlFrontendRequest:
// Handles requests to /addurl by parsing the request,
// dispatching a backend request to an AddUrlService backend,
// and transforming the backend reply into an appropriate
// HTTP reply.
//
// Args:
// http_request - The raw HTTP request received by the server.
// http_reply - The raw HTTP reply to send in response.
void AddUrlFrontend::HandleAddUrlFrontendRequest(
const HTTPRequest* http_request, HTTPReply* http_reply) {
// Extract the query parameters from the raw HTTP request.
HTTPQueryParams query_params;
ExtractHttpQueryParams(http_request, &query_params);
// Get the 'url' and 'comment' query components.
// Default each to an empty string if they were not present
// in http_request.
string url =
query_params.GetQueryComponentDefault("url", "");
string comment =
query_params.GetQueryComponentDefault("comment", "");
// Prepare the request to the AddUrlService backend.
AddUrlRequest add_url_request;
AddUrlReply add_url_reply;
add_url_request.set_url(url);

67

if (!comment.empty()) {
add_url_request.set_comment(comment);
}
// Issue the request to the AddUrlService backend.
RPC rpc;
add_url_service_->AddUrl(
&rpc, &add_url_request, &add_url_reply);
// Block until the reply is received from the
// AddUrlService backend.
rpc.Wait();
// Handle errors, if any:
if (add_url_reply.has_error_code()) {
WriteHttpReplyWithErrorDetails(http_reply, add_url_reply);
} else {
// No errors. Send HTTP 200 OK response to client.
WriteHttp200Reply(http_reply);
}
}

HandleAddUrlFrontendRequest
-. ,
. , ,
- .
addurl, addurl_frontend.
C++ AddUrlFrontend.
File: /depot/addurl/BUILD
# From before:
proto_library(name="addurl",
srcs=["addurl.proto"])
# New:
cc_library(name="addurl_frontend",
srcs=["addurl_frontend.cc"],
deps=[
"path/to/httpqueryparams",

68

"other_http_server_stuff",
":addurl", # Link against the addurl library above.
])

,
addurl_frontend.h addurl_frontend.cc,
.
- AddUrlFrontend. addurl_
frontend_test.cc. - AddUrlService
AddUrlFrontend
.
AddUrlFrontend AddUrlFrontend.
File: depot/addurl/addurl_frontend_test.cc
#include "addurl/addurl.pb.h"
#include "addurl/addurl_frontend.h"
// See http://code.google.com/p/googletest/
#include "path/to/googletest.h"
// Defines a fake AddUrlService, which will be injected by
// the AddUrlFrontendTest test fixture into AddUrlFrontend
// instances under test.
class FakeAddUrlService : public AddUrlService {
public:
FakeAddUrlService()
: has_request_expectations_(false),
error_code_(0) {
}
// Allows tests to set expectations on requests.
void set_expected_url(const string& url) {
expected_url_ = url;
has_request_expectations_ = true;
}
void set_expected_comment(const string& comment) {
expected_comment_ = comment;
has_request_expectations_ = true;
}
// Allows for injection of errors by tests.
void set_error_code(int error_code) {
error_code_ = error_code;
}

69

void set_error_details(const string& error_details) {


error_details_ = error_details;
}
// Overrides of the AddUrlService::AddUrl method generated from
// service definition in addurl.proto by the Protocol Buffer
// compiler.
virtual void AddUrl(RPC* rpc,
const AddUrlRequest* request,
AddUrlReply* reply) {
// Enforce expectations on request (if present).
if (has_request_expectations_) {
EXPECT_EQ(expected_url_, request->url());
EXPECT_EQ(expected_comment_, request->comment());
}
// Inject errors specified in the set_* methods above if present.
if (error_code_ != 0 || !error_details_.empty()) {
reply->set_error_code(error_code_);
reply->set_error_details(error_details_);
}
}
private:
// Expected request information.
// Clients set using set_expected_* methods.
string expected_url_;
string expected_comment_;
bool has_request_expectations_;
// Injected error information.
// Clients set using set_* methods above.
int error_code_;
string error_details_;
};
//
//
//
//
//
//

70

The test fixture for AddUrlFrontend. It is code shared by the


TEST_F test definitions below. For every test using this
fixture, the fixture will create a FakeAddUrlService, an
AddUrlFrontend, and inject the FakeAddUrlService into that
AddUrlFrontend. Tests will have access to both of these
objects at runtime.

class AddurlFrontendTest : public ::testing::Test {


// Runs before every test method is executed.
virtual void SetUp() {
// Create a FakeAddUrlService for injection.
fake_add_url_service_.reset(new FakeAddUrlService);
// Create an AddUrlFrontend and inject our FakeAddUrlService
// into it.
add_url_frontend_.reset(
new AddUrlFrontend(fake_add_url_service_.get()));
}
scoped_ptr<FakeAddUrlService> fake_add_url_service_;
scoped_ptr<AddUrlFrontend> add_url_frontend_;
};
// Test that AddurlFrontendTest::SetUp works.
TEST_F(AddurlFrontendTest, FixtureTest) {
// AddurlFrontendTest::SetUp was invoked by this point.
}
// Test that AddUrlFrontend parses URLs correctly from its
// query parameters.
TEST_F(AddurlFrontendTest, ParsesUrlCorrectly) {
HTTPRequest http_request;
HTTPReply http_reply;
// Configure the request to go to the /addurl resource and
// to contain a 'url' query parameter.
http_request.set_text(
"GET /addurl?url=http://www.foo.com HTTP/1.1\r\n\r\n");
// Tell the FakeAddUrlService to expect to receive a URL
// of 'http://www.foo.com'.
fake_add_url_service_->set_expected_url("http://www.foo.com");
// Send the request to AddUrlFrontend, which should dispatch
// a request to the FakeAddUrlService.

71

add_url_frontend_->HandleAddUrlFrontendRequest(
&http_request, &http_reply);
// Validate the response.
EXPECT_STREQ("200 OK", http_reply.text());
}
// Test that AddUrlFrontend parses comments correctly from its
// query parameters.
TEST_F(AddurlFrontendTest, ParsesCommentCorrectly) {
HTTPRequest http_request;
HTTPReply http_reply;
//
//
//
//

Configure the request to go to the /addurl resource and


to contain a 'url' query parameter and to also contain
a 'comment' query parameter that contains the
url-encoded query string 'Test comment'.

http_request.set_text("GET /addurl?url=http://www.foo.com"
"&comment=Test+comment HTTP/1.1\r\n\r\n");
// Tell the FakeAddUrlService to expect to receive a URL
// of 'http://www.foo.com' again.
fake_add_url_service_->set_expected_url("http://www.foo.com");
// Tell the FakeAddUrlService to also expect to receive a
// comment of 'Test comment' this time.
fake_add_url_service_->set_expected_comment("Test comment");

, ,
. ,
. - AddUrlFrontend
- FakeAddUrlService. ,
-.
, FakeAdd
UrlService (fake) (mock). .
.
.
, addurl_frontend_test.
72

File: depot/addurl/BUILD
# From before:
proto_library(name="addurl",
srcs=["addurl.proto"])
# Also from before:
cc_library(name="addurl_frontend",
srcs=["addurl_frontend.cc"],
deps=[
"path/to/httpqueryparams",
"other_http_server_stuff",
":addurl", # Depends on the proto_library above.
])
# New:
cc_test(name="addurl_frontend_test",
size="small", # See section on Test Sizes.
srcs=["addurl_frontend_test.cc"],
deps=[
":addurl_frontend", # Depends on library above.
"path/to/googletest_main"])


addurl_frontend_test,
. , , , AddUrlFrontend .
FixtureTest
.
, , ,
, .
( , AddUrlService),
.
$ create_cl BUILD \
addurl.proto \
addurl_frontend.h \
addurl_frontend.cc \
addurl_frontend_test.cc
$ mail_cl -m reviewer@google.com

,
,
, . Google ,
,
, addurl_frontend_test , 73

. ,
addurl_frontend.cc, addurl_frontend_test
.


,
. , , ,
,
, .
.
, . ,
. , , , .
, . .
, , , , .
Google .
, ,
, .
, .
, ,
, , .
: , , .
,
Google .
,
.
. ,
.

74


Google : -, , ,
,
, . 2.1.
, ,
.
. :
. .
Google -.
, ,
, , . 2.2 .
, .

. 2.1. Google

75

. 2.2.

. 2.3.

. 2.4.
,


, . , ,
.
.
,
. ,
. , ,
,
. .

, . 2.3.
.
,
. Google .
. -
.
.

.
.
.

76

, . , . ,
, ,
.
Google , .
, .
,
, . 2.4. ,
, .



.
IT- ,
.
, , Google.
.
.
,
, .
.


.

.
.
77

,
Google . , .
,
. ,
, ,
, ,
.
Google
.
(. 2.1).
(. 2.2). ,

.
.
.


( )


100


15

2.1.


( )

localhost

2.2.

78

. .
. 2.5 ,
.

. 2.5.


:
. .
(
), .
.
.
- . .

:
, , .
.
,
.
79

,
.
.
,
.
, .

:
, .
.
-
.
.
,
, ,
null-.
.
.
.
.
, .
. .
Google
. ,
, , -.

,
.

80

, ,
.
,
.
.
20- ,
100, . ,
, .
, , .
. ,
.
Google ,
. 70/20/10: 70%
, 20% 10% .
. ,
(, -),
, .
Google Harvester. ,
: ;
; ;
. . Harvester .


Google .
, .
.
,
.

81

, . ,
, . ,
Google .
, .
, . ,
, .
.
, . :
;
, ;
,
.
, , ,
.
-.
,
. . . ,
:
,
;
,
;

.
, Google,
. Google, ,
. ,
.
, , , -,
. .
82

Google .
, ,
, .
, Google. , . , ,
,
. , . , .


Google
,

.
.

1. .

2. .

3. .

4. 1.
, , .
,
. ,
. - ,
.
Google
. Google 20
, 50% .
, .
, ,
.
,
-

83

. .
, ,
, , .
,
(. 2.6), ,
,
. .
Google,

.
,
, .
,
. gmail_server_tests - 2.
, - 2
3, . ,
,
.
, .


.

. 2.6.

84

,
,
.
, .
, . 2.7,
.
, ,
. ,
. .

Gmail

Buzz

name: //depot/gmail_client_tests
name: //depot/gmail_server_tests

name: //depot/buzz_server_tests
name: //depot/buzz_client_tests

. 2.7.

, ,
, , , , Gmail
Buzz.
1:
,
common_collections_util, . 2.8.

. 2.8. common_collections_util.h

,
. , .
, , ,
, (. 2.9).
85

. 2.9. ,

2:
,
youtube_client (.2.10).

. 2.10. youtube_client

, ,
buzz_client_tests Buzz
(. 2.11).
buzz_client_tests,
Buzz

. 2.11. Buzz

, , , .
.
.

86

.
,
Google,
. .

-
, .
. , -. , ,

Google.
- .
, ?
, , ?
, , ? ,
(.2.12),
?

. 2.12. - -

- , , .
.
, . ,
. ,
.

87

-
1
.
.
, .
.
-.
2
, .
- .
50%.
10%.
.
3

50%.
.
4
- .
- 30 .
.
40%.
25%.
.
5
.
.
60%.
40%.
88

,
.
. ,
.
.
, .
:
, -.
, ,
, .
.
, , ,
.
.
, .
. ,
, .
,
? , .
, .


-
Gmail. , .
, Google.
-.
, -?
? ,
?
: Google, .
89


. , , .
.
,
. , , ,
, .
-
. :
, -,
.
, .
. .
, .
, , .
,

.
Google ,
. . .
- .
- ?
: , , ,
.
,
. , Google
. , ,
, .
: , .
. ,
,
. : ,
, . . ,

.

90

?
: , .
. .
, .
, 1 , : 2,
, , Thanks God
Its Friday .
: ,
, , ,
. .
?
: . , ,
. . , Google
: .
,
. .
: , Google . -. , , ,
.
, ?
: . . . . - ,
. , ?
: , .
,
1 (Testing on The Toilet) .
Google Testing googletesting.blogspot.com
2 (fixits) Google: - . , . .
#include C .
, . , ,
.

91

. ,
, .
- ?
?
: ,
, , .

.

2007, Google 15 , .
-
-. (Rubix, Bounty, Mondrian, Red Tape . .).
,
. ,
. ,
, .
, .
, -
.
. ,
: , .
, . ,
. ,
,
.
. . -,
- .
,
.
, . , ,
.
,
, , , ,
.

92

,
50 , .
.
, , ,
. - ,
.
, 100 ,
. , , -.
, ,
- .
.
. ,
.
. 2008
.
-, ,

. .
, , -
.
-
? ? ? ?
: . .
, .
, , .
.
. 1,5,
.
// .
, : ,
.

93

, , . ,
.
. , .
: , -
. . ,
, , .
. ,
, .
- ?
?
: . . .
. .
, . , .
, ,
. .
, ,
?
:
. , . ,
, .
, , , . ,

. , , , , ,
- , ,
.
Google ,
- , , . ? ?
: , , . ,

94

, , ,
,
. - ,

, .
, .
, . -
. - ,
.
,
.
: ,
. ,
.
.
-. -
, , ,
. ,
.
.
, .

, ,
. ,
.
. .
,
. , ,
.
, ,
. ,
Google ,
,
.

95




, , ,
. .
. API, ,
.
Google . ,
. , .
, . ,
, ,
. Google ,
, ,
.
,
? . .
: .
, , ,
. ,
.
, .

, , , . ,
. ,
, .

, , , .

. ,

acount(void* s), A .

96

, , :
, . , ,
. .
: ? ?
? ,
. , .
, , .
,
, .
. ,

.
API
.
, .
: ASCII, UTF-8 -
?
. CamelCase1
? ?
? , , int .
void* . ,
char*, .
A? ?
? ( ,
, .)
.
. ,
int64, Google .
1 CamelCase , , . c - ,
.

97

: A? , ,
. ,
.
: ?
, :
:
MapReduce1
2 ? ,
. ,
?
.
Google
,
, ,
null. .
,
.
, :
, ?
, ,
B.
? :
A, A ?
.
.
1 MapReduce , , . . http://en.wikipedia.org/wiki/
MapReduce.
2 (sharding) .
: ( ). . http://en.wikipedia.org/wiki/Shard_(database_
architecture)

98

:
, , , ,
. .
, ,
.
. , null-, .
, ,
.
try-catch?
, ,
. ,
?
, ,
. .
.
, .

, . .

, ,
.
.
, . ,
, ,
. Google
, .
- . .
, , ,
Java Python. ,
99

, :
, .
int64 Acount(const char* s) {
if (!s) return 0;
int64 count = 0;
while (*s++) {
if (*s == 'a') count++;
}
return count;
}

, ,
.
. :
. , .
.
, ,
null-, , .
, . ,
, .
, .
.
, .

A null.
. :
int64 , , - A
.
,
. , MapReduce,
,
.
100

.

. .
, . .
,
. , ,
. ,
.
,
. , ,
. .
, . ,
, .
, , ,
.

, , - , ,
, - - .
. :
.
, ,
.
.
, .
:
,
, .
. ,
while(true), ,
.

, , .
101

(, ,
Google) ,
64- .
, -
. , , , . - Google.
?
, .
: ,
-? , ,
. Google.
,
.
, , ,
. ? ?
? ,
?
, ?
, ?
? , ,
, , . ,
?
: , , ,
.
.
, ,
, , . ,
, , ,
102

. ,
,
.
, . ,
, ?
. , ,
? , , - .
, .
.



Google,
. -,
, Google. , .
, , - Google .
Google ?
: Google 2004 .
, IBM Microsoft, Google , . ,
,
.
Buganizer1, Google.
Buganizer
BugDB?
: BugsDB ,
. , .
, . : ,
,
. Buganizer, ,

1 Buganizer , Issue Tracker, Chromium
http://code.google.com/chromium/issues/list

103

. ,
,
.
, Buganizer. , ,
, .
-? , ,
?
: Buganizer, AdWords Google,
, -
. , , , .
, .
Matrix, .
Matrix ?
: , . ,
.
, ,
, ,
. Matrix - Google.
: Buganizer Matrix?
: Buganizer , Matrix . , ,
. , , -
, .
, ?
:
: , , .
. .
.
,
?
: , , ,
.

104

. ,
, .

, ?
: , . ,
. ,
- - . , ,
: ,
,
.. , ,
.
, .

WebDriver

WebDriver Google.
WebDriver - -,
Google, . WebDriver
Google Test Automation Conference.
, ,
- WebDriver.
, , Selenium
WebDriver. ?
: Selenium, ThoughtWorks1.
- IE,
90% .
, Firefox,
Firefox IE. Selenium
, .
WebDriver Selenium,
, .
1 ThoughtWorks,Inc IT-, 1983 . 11 . . .
.

105

-, ,
. Selenium
JavaScript- , WebDriver API.
. Selenium
, Chrome,
. -
JS . WebDriver ,
, .
Google, .
. ?
: Selenium ,
, WebDriver. Selenium WebDriver.
Google ?
: Google,
ThoughtWorks.
WebDriver. -
, .
- , .
, , GTAC. Google.
.
, . - ,
, , -
. ?
: . Google. ,
.
. . WebDriver
, Google?
: , .
, WebDriver .
. ,
. WebDriver
, .
WebDriver .

106

, , WebDriver
Google. ? ? ?
: Wave ,
. .
Wave Selenium ,
. Wave .
, WebDriver.
. .
, 20 . .
, .
, .
: , , . Google,
WebDriver -.
WebDriver , .
. WebDriver
Wave?
: DDD (Defect-Driven Development ). WebDriver ,
, . - .
. ,
, .
WebDriver?
: , . Google -. , . ,
. ,
.
, Wave . WebDriver
Selenium?
.
: , . Selenium
, WebDriver Wave . ,

107

, ,
WebDriver, .
, ,
.
WebDriver. ,
,
WebDriver. , Wave
Picasa Web Albums, WebDriver Ads.
- Google . Chrome PyAuto, Search Puppet ( Web
Puppeteer), Ads WebDriver . .
WebDriver? ?
: .
. . Internet Explorer, Firefox,
Chrome, Safari, Opera , .
WebKit .
, IE. , 2008
. WebDriver,
- . ,
,
WebDriver API.
, .
?
: . , ,
, W3C1 ,
.
?
?
: , . , API
, . ,
-, ,
. WebDriver - , , .

1 World Wide Web Consortium ( W3C) , . . .

Google , ,
.
:
. ,
Google, . -
1.


, .
Google , , . , , ,
1 . Google ,
, . -, .

109

, . , . Google,
, , ,
,
. !

,
. Google, , , , , .

.
, , ,
.
, . :
, . ,
,
. , ,
-, .
. ,
.
:
, .
, . .
, , , .


Google
,
. ,
.
, Google.

110

.

. (
) .
(, ), ,
.
, , ,
.
,
.
,
,
.

,
, .

,
.
( ) , ,
. ,
.
, ,
,
. . :
?
, , , , , ?
?
?
( )
?
?
111

, , , .
, ,
. ,
. , ,
, ,
, , . . Google
,
. , , ,
.
: , ,
, .
,
,
.
, . , (,
), .
, .
, (
!), ,
, .
:

.
, . ,

. - , .
. ,
. Google , . ,
. Google
,
. ,
. ,
, - Google
.

112

, , - Google
.

: Google ,
.
, , , ,
, .
, .
, -
, -.
, Google ,
, ( ).
, ,
.
Google .
, , ,
,
. -
-.
, . .
- . , .
, :
;
, , ;
;
;
-;
-;
-1;
;
.
1 (. crowd sourcing)
. . .

113


:
. , ,
, .
.
,
: -,
-, -. .
, - , ? ,
. ,
, - .

. , , ,

-. - ,
, .
, , - . .
- 1. - ( - Chrome
OS). , -
. ,
. - , , ,
, , , .
- ,
. - ,
- : , , ,
1 , , , , .
, !

114

,
.
- , , ,
.

- , .

.
-
? ,
? -?
, - , ? -
- , ?
, .
- .
, , ,
, , . -
, .
, ,
Google .
, -:
;
, ;

;
, .
:
;
, ;
.

115

Google ,
. , -, . , - Google Docs
.
.
Google Sites
-. ,
Microsoft Word, .
- - , -, ,
, .
, . - ,
, . -
, .
Google ,
- .
, , , Google,
.
- (Attribute Component Capability) ,
Google. . -
, .
Google Test Analytics.
Attribute Component Capability:
, .
, .
.
, , , !
. - ,
,
, .
, .
. - . , . .
,
.

116

- ,
. -
.
.
, ,
. .
.
. , .
-.
, ,
- . ,
.

, .

: - , , ,
, .
, , . :
, ,
.
- ,
, :
1. , ;
2. , ;
3. , , .
, , ,
.

A Attribute
, ACC-, ,
. ? ? ? ,
117

:
, , ,
.
.
.
ACC- (Attribute, Component, Capability),
: , , . , ,
.
, . , .
, . Chrome
, , :
,
.
,
- . ,
, ,
Chrome , . .

. , . , .

. , , , ,
. , .
,
-. ? ,
.
.
. .
. , ,
.
. , - . , ,
.
118

. .
Chrome OS , , ,
, .

. 3.1. Chrome OS

,
, .
, ,
. , , .
, , Google Sites . ,
. : , -
- ,
. ,
,
.
, .
, , . ,

119

. , , , .

. 3.2. Google Sites

. 3.3. Google Sites, GTA

120

,
, .

Google -: ,
Google Test Analytics (GTA), .
, , , .

C Component
? !
. ,
. , , -,
. ,
, , . ,
, !

, ,
, , .

, .
,

. . ,
. ,
.
, .
, .
,
. . ? !
? , . ,
, .
, . ,
121

.
, , , .

.
, . ACC- ,
, .
, ,
. ,
.

. 3.4. Google Sites, GTA

C Capability
ACC- , , , .
, ,
. ,
- : - ,
.

122

, . , , .

, , Chrome. -,
Flash-, .
Chrome.
-: . , - ,
.
. - ,
, . Chrome : Chrome ,
Flash-. -,
, , , -
, . , ,
, .
, ,
, , .
.
, ,
.
-:
/ .
, .
.
,
( ).
HTTPS.
, .
,
. ,
.
.
UPS,
.
123

.
, .
. , .
, . ,
.
.
, .
, , , ,
ACC-.
, .
,
.
, ,
, . , .
, Google,
(, Chrome OS ),
. , ,
. ,
, :
?
, . .
-, ,
. ,
-.

, .


Google. , ,
. , -,
124

, ,
, ,
. , . ,
, .
,
- , .
- . , -
- . , , .
Google Sites: . 3.5, , .
. , , . Chrome
.
,
.

. 3.5. GTA

,
.
125

. -

.
: ,
.
,
. ,
. ,
:
;
;
.
, ,
. -
,
.
.
,
:
.
,
, . ,
HTTPS. ,
, HTTPS. , !
, - , ,
,
. , HTTPS,
. , -

1.
1 :
, , ,
.

126

.
. ,
-
.

,
. Google ,
-,
-. ? -,
, , ,
,
, ,
, , .
-,
, , , -. , ,
.
-.
, , .
-. , , , , - . ,
How to Break Software, Exploratory Software
Testing , -,
.
. , .

.
ACC-, , . ,
, . Google
, .

127

: ,
Google+
ACC- ,
! ACC-
Google+.
Google+ ( Google).
:
.
:
.
: , , .
: ,
.
: Google, .
: .
Google+ ( ).
: .
: , .
: , , ,
. .
: (, . .).
: .
, +1: ,
.
: .
: , , . .
: , .

128

Google+.
:
:
.
: - .
: Google+ -.
: , .
: .
: .
: .
:
: ,
.
: .
: .
: .
: , .
:
.
:
: .
: ,
.
: .
:
:
.

129

: .
: , .
: .
: .
:
: .
: .
:
: .
: .
: .
:
.
: - .
: .
: , .
: .
: YouTube .
: .
: -,
.
:
.
: .

130

:
: .
: .
:
: .
:
.
: .
:
: .
: .
: .
: .
:
.
. 3.6 ACC-
.

. 3.6. ACC Google+

131

. 3.7 .

. 3.7. ACC Google+

. , , . , ,
, . ,
.
, , , .
,
?
, ?
, .
. :
, .
,
. , ,
, , - ,
59%.
,
, :

132

. .
.
.


, , .
:
?
?
?
?
?
, ?
?
?

?

, ,
, . Google
: .

. , .
,
. ,
, . GTA (. 3.8).
GTA :
: , , , .
: Google Chrome1. ,
1 http://www.google.com/chrome

133

. HTML
, .
: , . -
.
: Chrome. ,
, . ,
, - ,

.
: , , , , .
: Chrome Sync. Chrome ,
, ,
.
, .
, , , .
, ,
.

. 3.8. GTA Google+

134

: , ,
.
: -.
HTML, CSS JavaScript .
,
, . , .
: ,
. ,
, ?
, .
,
. .
,
( Chrome ).
:
: , .
: Chrome Labs. , chrome://
labs . , Chrome,
.
. , ,
.
: , .
.
: . ,
URL-
, .
.
: .
: Chrome.
, Chrome
, .
:
.

135

: Chrome. ,
.
. , . ?
, . Google? , . ,
, , .
, ,
/ Google Sites. (. 3.9).

. 3.9. / ( Google+)

,
.
.
GTA,
.
, , .
,
. , -

136

. ,
, , .
. , . , ,
! ,
, ,
.
. , ,
.
,
.
.
, , .
-. -
,
.
, . ,

. ,
, , . ,
.
, .
, ,
. , . .
. , ,
. , , . .
- , ,
. , ,
, .
.
,
.

137


. , ,
?
, , , ,
. ? .
, . .

: , .
, , :
,
, .
-, ,
.
,
.

.
,
. , .
, . , , ,
,
. , . .
: .
, .
.
, , . Google Labs,
, ,
. Gmail, -

138

. ,
-.
,
,
. , -
, . ACC-,
.

-

, ,
. ,
, ?
, , . Google, ,
-.
, , : ,
(
). , , -
, .
.
-, , , ,
( ),
, , .
: , ,
?
- ,
, , .
, . :

?
- ,
- . .
: -.

139

, :
- . - ,
.
,
. :

. , ,
.
-,
.
.
: , - .
, ,
. ,
, , , .
,
, , (Google Docs, App Engine, Talk Video . .),
.
, ACC. ,
. , .
,
. - . , ,
.
, - .

.

,
- .
, . ,
. 80% .
? , ,
? , (, , ) .
,
, .

. -!

140


Google Test Analytics
( , , , ).
, . , .
, , . , ,
- .
, , ,
.
.
,
. ,
, . ,
.
GTA , . .
,
. : ,
- .
.
, .
, .
1. /, , ,
. Google
.
, , .
2. , .
, GTA?
?
?
. ,
, .

141

3. , /
, ,
.
.
4. .
, .
,
. , : !, .
,
.
5. , .
, ,
. , ?
?. Google
, ,
.
6. ,
, ,
. !

.


, . , , ,
.
, ,
- .
- , , ,
. ,

142

, . ,
, .
,
, .
-, -
!
. - .
. Google
, . -: Google Documents

, .
, , , .
.
.
, - .
-. ,
1. , . ,
: FedEx- - ,
,
. , ,
, .

.
, , -
!
1 Exploratory Software Testing: Tips, Tricks,
Tours, and Techniques to Guide Test Design (Addison Wesley, 2009).

143

, .
.
?
, , . ,
, , ,
-.
, Chromium,
. ,
, . , .
( ) .
,
, .
, ,
?
.
, , ,
. , : -1000 , :
Chrome, : 1 = 1000 20 = 50 .
.
,
, ,
. , , . Chrome,
, ,

( Chrome).

. ,
.
, , .
-
Google: , ,
. , .

144

, ,
, (, uTest).
1.
, ACC- , ,
.
, ,
. ,
, -, , , , , , ,
.
, , .

-
Google -,
( )
. - ,
:
. ,
, - . , .
- .
, ,
-. ,
, .
, , ,
. , .
, , ,
.
1 Chrome : http://blog.chromium.org/2010/01/
encouraging-more-chromium-security.html

145

, , . ACC-
, , , , Google Test
Analytics. , .
. ,
.
,
, . . Google Sites -
, . .
Google -,
. - , . .

-,
. Test Scribe.
Test Scribe - . - . ,
.
- , -
. 2010 , ,
. Google Test Case Manager (GTCM).

. 3.10. GTCM

GTCM , , , ,
. GTCM
Google. GTCM
(.3.103.14). . 3.11 -. , GTCM
146

, , 1
.
- GTCM. GTCM
-.

. 3.11. GTCM

. 3.12. GTCM

1 -. http://cukes.info

147

. 3.13. - Chrome GTCM

. 3.14. - About Chrome

, GTCM, ,
- . 148

. 3.15 3.16.
. , Google ,
, . , GTCM
,
, . - TCM ,
.
, ,
(, Android).

. 3.15. GTCM

, , (. 3.16).

. 3.16. GTCM

, GTCM (. 3.17).
, . Google 149

. ,
-, .
,
.

. 3.17. ,
GTCM,

GTCM API. TestScribe API,


SOAP, ,
. ,
. , GTCM
RESTful JSON API.
GTCM . -
, . GTCM . Google App
Engine ,
. GTCM ,
Google App Engine, . Google
Testing Blog, .


, -. , , ,
. ,
150

, Google, . ,
, .
.
.
, .
Google. , . , ,
,
Google. : -
. -, , ,
. ,
Google Maps, .
API .

, , . Google
BugsDB: ,
- .
BugDB 2005 , ,
1 , Buganizer.
Buganizer n- ,
BugDB (
). , .
,
. ,
, .
, . .

Buganizer
, Google, 18 2001 15:33
. Test Bug,
1 .

151

First Bug!. , , .
2009 .

.
, ,
, . 2009 .
Google. , . . , ,
.

. 3.18. Buganizer

. 3.18 , P21,
P1 P0. -, ,
, , . ,
, , 1 , PX ( P priority, X ). P0 , P1
. .

152

. P3 P4 ,
.
. 3.19 . P0? : P0
, , .
: , .

. 3.19. Buganizer

(. 3.20)
. , . ,
. ,
, . ,
- , , .
. 3.21 ,
.
, . ,
.
,
,
.
153

. 3.20.

Google ( , Chrome Chrome


OS), . , , Bugzilla WebKit Issue
Tracker chromium.org. Google
Google, ,
. .
Issue Tracker Chrome Chrome OS.
:
, .
, , . ,
. . 3.22 3.23
, Chrome About.
, Buganizer Google.
,
, -. Buganizer ,
Google.

154

. 3.21.
.
, !

. 3.22. Issue Tracker

155

. 3.23. Issue Tracker

, ,
. . ,
.
(Assigned to, Assignee)
[ ] LDAP- , .
, -
. .
(CC)
[ ] ( ) LDAP-
,
. LDAP
@google, . .
,
.

156

(Attachments)
[ ] , (
). , ,
100 .
(Blocking)
[ ] ID , .
.
.
(Depends On)
[ ] ID ,
.
. .
(Changed)
[ ]
.
(Changelists)
[ ] , . ,
.
(Component)
[] , . ,
.
.
(Created)
[ ] .
(Found In)
[ ] ; , (, 1.1).
(Last modified)
[ ]
.
157

(Notes)
[ ]
. , .
, , , , .
,
;
.
(Priority)
[] , P0 .
,
. , Google
,
, .
.
.
.
(Reported by, Reporter)
[ ] Google, . , ,
.
(Resolution)
[ ] , .
(Not feasible), (Works as intended), (Not repeatable), (Obsolete), (Duplicate) (Fixed).
(Severity)
[] , . S0 . ,
, .
Google? , .
:
S0 =
S1 =
158

S2 =
S3 =
S4 =
(Status)
[] .
. 3.24, , .
.
(New): ,
.
(Assigned): .
(Accepted): .
(Fix later): , .
(Will not fix): ,
- .
(Fixed): , .
(Verifier assigned): .
(Verified): .
(Summary)
[] .
; - ,
, .
(Targeted To)
[ ] ; , (, 1.2).
(Type)
[] :
(Bug): - , .
(Feature request): ,
.

159

(Customer issue):
.
(Internal cleanup): .
(Process): API.
(Verified In)
[ ] ;
, (, 1.2).
(Verifier)
[ ]
, . , .
,
.
. .
Google
?
. .
Google .
. ,
-. Google
, ,
.
, .
. Google .
1 . ,
. . ,
, . Google
.

1 , , ,
, . triage.

160

. 3.24. Buganizer

161

Google :
, , .
-
.
Google,
. -
.
, Buganizer.
,
, .
, ,
Google
.
Google Feedback1 (http://www.google.com/tools/feedback/intl/en/index.
html) Google. Google Feedback
Google. , ,
,
. Google
,
. ,
Google ,
( . 3.25).
Google Feedback ,
.
. ,
.
, .
, Google
.
,
Google.

1 , Google Feedback, 4.

162

. 3.25. Google Feedback

, .
. IDE ,
, .
, : -, . ,
, .
,
. , ? ?
, ? ,
? . , , ? ,
, ,
.

163

, ,
, . ,
, .
. , , ,
P0, .
-. , , .
.
.
, , . , , ,
DOM .
,
.
, .
,
. , ,
, .
-.
.
,
. , , -
. ,
, - .

Google .
. ,
. .

164

, . Google
, . ,
, .
. ,
,
. , , ,
.
, Google ( )
.
, . , ?
. , , . ,
, , ,
, . , !
, .
.
, . ,
,
. ,
. ,
,

. .
. ,
, .

, ,
.
, .
Google
, .

165

.
, .
,
, :
.
,
.
Google.
, .
. , .
,
. ,
.
,
,
. , ,
.., ,
.
,
, google.com, Google
. ,
.
Google.


, .
. , , , , ,
.

166

, :
.
, , -,
. ,
, - .
, ,
API.
API,
, API .

.

.

.
, , ,
.
.
, .
,
, .
-, .
, ,
: .
, :
, , ,
.
Slashdot News.com,
.
167

,
.
,
.
-. , -
.
.
.
, i,
1.
, .
, , :
, .
, . , , . , ,
.
, ,
,
.
,
.
, .

,
. ,
, ,
1 vim (http://ru.wikipedia.org/wiki/Vim),
. . .

168

. ,
, . ,
!
.
,
.
,
, .
, , ,
. .
,
, . , - (. 3.26) , A
. : ,
.

. 3.26.

. ( .) ,
. , ,
. .
, , , .
, :
? ?
? ? .
, , -.
, .
, ? ,
, ? ,

169

?
/?
, - , , ,
. :
banana: 3 ( )
A a: 1 ( ).
: 0 ( ).
null: 0 ( ).
AA aa: 2 (, > 1,
A).
b: 0 ( ).
aba: 2 (
1 ).
bab: 1 ( ).
//..: N (- N
A).
A: 0
A: N, N A.
X\nX : N, N A ( ).
{java/C/HTML/JavaScript}: N, N A ( , ).
- ,
.

. :
, :
?
..?
, ,
, .

. ?

170

, ?
.
, .
, ?
?
,
?
HTML JavaScript. ?
, A
?
.
,
. . :
, HTTP GET- URL, . ,
URL-.
. A?
A (,
).
.

(, ),
, .
. , -
A.
A,
.
: HTTP POST
? ?

171

,
: ,
A ..
,
, , .
, , .
, . ,
1000 , 999, 1000 1001.
2^32, ,
2 10. ,
, .
, ,
, .
.
,
, .
, .
, ,
. ,
, . ,
, , .

. , 5
, , , ,
.
, , , ,
. ,
, . ,
.
. ,
, , , ,
. ,
, . ,
. ,
, -, ,
172

, ,
. , ,
- .
- ! ?
: . , , .
, . , .
,
. : . , , Google, .
, . Google, ,
, ,
, .
, Google ,
. !

Google
, , . , Google . ? ,
. . ,
, .
.
Google ,
. : ,
, .
,
. , .
, .
Google,
, , ,
,
.
Google . , Google
173

,
,
. Google , .
,
.
,
.

, ,
Google.
, ,
. ,
, ,
. .
, , . ,
,

.
, .
, . ,
Google .
.
, -
, .
,
, , . ,
,
.
Google .

174

Google .
(Tech Lead). ,

.
, ,
. .

. , .
.
(TLM, Tech Lead Manager). , ,
, .
.
.
- (Test Engineering Manager). ,
, -.
. , Google -,
, .
. 12 35 . -
,
, .
(Test Director). . -,
, . -
, :
, . . . 40
70 . :
Client, Apps, Ads . .
(Senior Test Director).
.
, ,
Google. ,

175

, .
, Google,
.
, Google,
, .
, . ,
, ,
. :
.
,
Google. , . Google, , . ,
,
-
Google.
.
, .
, , . ,
,
. , ,
, , .
. , ,
, .
.
. -
. , -. , .
. . ,
- .
.
, .
. GTAC.
176

. , Google, ?
,
, ?
,
? ,
, , ,
.
. ,
Google .
, .
Google . ,
,
.
, . , . :
Google , ,
, . ,

. , Google
, . , .
, ,
. .
, .
.

. ,
.
OKR1.
, , . ,

1 OKR (Objectives and Key Results, ) . Google


. 70- ,
, 100- ,
.

177


.

. Google
, . : .

Google ,
, , .
. ? , ,
. , . , ,
, , .
,
, .

:
Google Desktop


Google Desktop ,
Google.
-
. ,
, , , .
- , Google Desktop 2500 -
Test Case Manager,
178

- .
. ,
- . C++
, .
- . Google .
,
Python,
Google Talk Labs Edition. - DOM.
, -, PyUnit.
Python,
. - , . , Python
. Google
,
.
Python
API . ctype COM
API ,
google.com ( !), ,
.
,
Google Desktop.
.
-1,
.
-.
. ,
. ,
. ,
1 - , , , . -,
.
, ,
. . .

179

. .
2500 , , , 150 . ,
- . ,
- , ,
Google Desktop .
, .

, ,
,
.
, ,
.
Chrome,
Google .

API, ,
Chrome.
,
,
Desktop Chrome.
: Google
Desktop
. , . -
,
. , ,
.
. ,
, ,
, . . , Desktop ,
Outlook. ,
,
. , Outlook.
2 , ,

180

, .
Desktop ,

.
,
, .

,
, ,
. ,
.
.
-.
Chrome . ,
.
. :
, .
, .
, .
, , ,
.
:
, , .
!
, .

. ,
.
, .
, ,
.
181

, .
, , .

.
, .
-,
. .
, . .
, -
. , .

, Google. , ,
, . ,
, .

Quality Bots
, ,
? ,
,
, ! ,
Quality Bots.
Google
, ,
. . .
, , ?
95% .
, , Google
. , , ,
- .

182

, , , , .
Google Search -: , ,
, ( ),
.
, .
.
.
1. . 1 . ,
WebDriver, URL-. URL- ,
, -,
. , , HTML , .
2. . ,
. ,
.
3. .
, . , : 100% ,
. , ,
.
4. . (.3.27).
(. 3.28
3.29).
. XPath-2
1 Skytap.com. . , , , .
. Skytap
, .
2 XPath , -, .
/ ,
DOM- -. .: http://ru.wikipedia.org/wiki/Xpath

183

(. 3.30).
URL- .

. 3.27. Chrome

. 3.28.

184

. 3.29. ,

. 3.30.

Chrome. .
, URL-
185

. ,
(.3.31) . Chrome1, . ,
. , 2 WebKit ( 56859: reduce float iteration in logicalLeft/RightOffsetForLine)
3, - div
. 77261:
ezinearticles.com Chrome 12.0.712.0.

. 3.31. ,

( ),
, , .
- ,
, ,
- .

. ,
. , ,
1 Chrome .
2 , , URL- http://trac.webkit.org/changeset/81691
3 URL- WebKit Bugzilla: https://bugs.webkit.org/show_bug.cgi?id=56859.
Chromium: http://code.google.com/p/chromium/issues/detail?id=77261

186

. , . .
,
, , .
URL-
. - , : , , . ,
, - ,
,
,
, HTML, .
-, ? , ,
YouTube CNN .
? ,
. , ,
. (,
IFRAME ),
-, ,
.
. 3.32: CNET ,

. 3.32.

187

, . , ,
, .
?
? , -1,
.
.
- . ,
.
? :
,
. ,
.
: URL- . URL- .
, , , 18 . 150 URL .
.
!
?
! , . ,
? , ,
:
- DOM.
.
Google .
, ,
. ,
, , - URL- .
.
Bots Skytap Amazon EC2.
( 1 http://www.utest.com .
. ,
.

188

Google ).
Bots ;
, . ,
!


, ,
. ,
, . Bots
URL-,
.

1:

-, - Google
Chrome. , Chrome
- , Firefox.
, ,
.
, ,
,
. , - , -

. , , ,
, . . WebKit
- (. .3.33).
, ,
1 , . ,
(http://en.wikipedia.org/wiki/Technological_singularity).

189

, . 1
, .

. 3.33. WebKit
.
,


ChromeBot, URL-
Chrome . ,
. ,
,
. , . ,
,
, ? , , Bots.

1 (false positives) , , . , -
.

190

: DOM1.
,
- , JavaScript,
-.
. , , :
;
, CNN.com, ;
- ;
;
.
,
. ,
, .
. . Google
. , .
, ,
. Chrome,
500 Chrome,
Firefox. ,
Firefox. ,
,
,
5% .
WebDriver (Selenium ) . WebDriver Chrome, API .
Chrome,
, , .
-, , ,
HTML ( RGB-!) 2,
1 DOM (Document Object Model) HTML, . DOM , , ,
. .
2 getElementFromPoint(x,y) - 800 1000.
, .

191

.
12 , .
, Firefox
Chrome . ,
, , , .
, , .
, . ,
. ,
, . , ,
. , ,
.
.
,
,
(. . 3.34). .

Chrome AppCompat
% Firefox

100
90
80
70
60
50
1.0.154.34

2.0.172.33

3.0.190.4

3.0.192.1

. 3.34. ,
,

. , ,
.
, .
, , ,
. -: , , .
,
,
192

. , .
, .
.
, ,
.

Bots: ,

Bots, Bots . Bots


,
Google.
2010 Chrome, SiteCompact. JavaScript, Chrome
. google.com,
CNN Chrome. ,

.

Bots. , , , ,
. , , , . , -.
, , , ,
. Bots -
. . ,
, .
, ,
.
Bots .
. , ,
.

193

- ,
. . ,
, ,

, .
, ,
.
. Google ,
. Google
,
.

Chrome. , Bots
Chrome.
, .
, Chrome ,
,
-.

Google. , Bots, .
-. ,

Chrome. Bots ,
. ,
.
Bots, . Bots
, Apple
WebKit. -,
Bots , -.
: ? .
, :
, .
Chrome .
, Bots
.
, Instant

194

Pages. Instant Pages ,


Chrome . Bots,
, ,
, .
: - ! : ,
,
.

BITE
BITE (Browser Integrated Test Environment), , , ,
.
, ,
. .
? . :
, ,
-, . - . ,
,
: . :
,
, ;
, ,
, , ;
, ,
;
, , , .
, ,
.

195

BITE , , .
.
.
,
. ,
.
Google ,
, . , BITE
.
BITE ,
(. . 3.35)
-.
-: ,
-.

. 3.35. BITE

,
- Google.

196

BITE
, Google Feedback? , -,
, , ,
. BITE, , ,

: URL-,
. -, BITE ,
URL-
.
, Google maps.google.
com : .
BITE ,
, , :
(.3.36). , ,
, , .

. 3.36.BITE ,

, (. 3.37), . !,

197

. , BITE
, .
,
.
1. .
2. HTML .
3. , maps.google.com,
JavaScript.
, , ,
( . 3.38).
4. URL- .
.
5. .

. 3.37.BITE:

,
.
198

. 3.38.BITE: JavaScript,

BITE Maps
BITE Google Google
Maps.
URL-, ,
Google Maps . ,
, ,
. BITE, Google Maps
GEO . ,
, Google BITE,
,
, Google Maps . , , . BITE
.

BITE
- , ,
, .
,
.
199

BITE ,
chromium.org, , Chrome.

. 3.39.BITE: , maps.google.com

. 3.40.BITE: YouTube

200

BITE ,
-. ,
BITE. , , . , , IssueTracker Buganizer,
-. , URL-
URL- . , ,
URL-. , .
3.39 ,
BITE. Buganizer
Issue Tracker. . 3.40 YouTube.

BITE

, . , .
Java Selenium
-. .
. ,
(Java JavaScript). Google ,
, .
. ,
.
Matrix, ,
.
.
,
.
.
Eclipse.
XPath- , Java-.
, , .
.

201

. - Google DOM.
, -
.
, - .
- : Record and Playback Framework (RPF)
JavaScript,
- . Chrome OS,
- Selenium WebDriver.
, Record and Playback BITE- . ,
. , , ,
.
. YouTube: ,
,
.
RPF , DOM
XPath, . ,
. ,
, , .
: ,
XPath, RPF HTML,
DOM. RPF
. ,
. , , ID,
. .
, . , .
RPF Chrome Web Store. RPF
90% .
, , ,
Google Checkout:
Web API - . ,

. .
, WebDriver
RPF. , RPF

202

, Selenium WebDriver. ,
.
BITE RPF . BITE ,
BITE,
. Google Maps, ,
.
BITE, , , .
, .

BITE RPF

Chrome OS ,
. , Chrome OS
.
Java (JVM)
. -,
Selenium,
, ,
Selenium .
, :
Chrome Selenium WebDriver.
, ,
Linux Java, Chrome OS. , Java,
, Chrome OS
Java. , , ,
.
Google , .
, . .
, , .
, ,
. Chrome OS,
Java, (jar-),
203

. Chrome OS (. 3.41).

. 3.41. Chrome OS

. -
JavaScript Chrome. .
Puppet, API, WebDriver
JavaScript. , -
-.
Puppet Chrome,
. !
, Chrome OS
Chromebook, .
, Chrome
1, ,
.
, BITE Web Test Framework, WTF,
. ,
, . RPF Flux
Capacitor1, .
1 . . .

204

BITE
Google :
TestScribe , ,
.
BITE Google Test
CaseManager Google. : , BITE,
BITE. URL-.
,BITEURL-
.
, URL- . ,
, -.
-. BITE,
. BITE. ,
, .
,
. BITE :
,
, BITE.

BITE
, . BITE .
: , ,
.
. , . , ,
.
BITE .
,
, ,
, BITE.

205

,
.
BITE ( ). . ; . , ,
, ,
. BITE .
Firefox Internet Explorer.

Google Test Analytics


,
.
, . ?
,
. ,
, .
, ,
ACC-,
.
, .

.
, , , .
Google Test Analytics (GTA) .
GTA ACC-, .
,
.
, GTA ACC.
(. 3.42 3.43),

(.3.44). , .
206

. (. 3.45)
1.

. 3.42. Test Analytics: Google+

. 3.43. Test Analytics: Google+


1 , , , . , ,
, .

207

. 3.44. Test Analytics: . :


,

. 3.45. Test Analytics: Google+

GTA. ,
208

, , . , ,

. -, ACC,
. .
GTA
, .
GTA , .
GTA,
, -. Google , . ,
, .
.
, , ,
. , ,
, , .
, ,
- .
.
Google Sites . 3.463.48.

. 3.46. Test Analytics:

209

. 3.47. Test Analytics:

. 3.48. Test Analytics:

GTA:
.
210

. ,
, .
, , Google Docs,
.
GTA ACC-, .
. ACC
. ,
.
, ,
.
,
.
? GTA
. ACC- , .
- ,
, .
, ,
, .
, .
, ,
.
.
GTA ,
GTA . ,

Google App Engine
.
GTA , . GTA ( ).
,
,
1. 200
GTA.

1 Salesforce. SalesForce.com
GTA .

211


Google , ,
. ,
.
. Google ,
!
? : , .
, , Google.
, :
;
;
;
. , .
Google, -, ,
, COM .
, ,
- .
, , .
(. 3.49). .
1. GTA. , .
2. . , , . , ,
,
.
3. . . , ? BITE, .
4. . - .
, ,
.

212

5. . ,
, .
6. . -

. , , .
7. 1.
.
- .

, , ,
. , . ,
.
. ,
,
. , , . ,
.
,
UX-, , ,
. , , ,
. ,
, , , .
U Test

. 3.49.

213

Google ,
. .
, . , , .
Google,
,
.
: ,
.
, GTAC1
. , ,

.
,
, API Chrome.
, .
Starbucks,
. ,
, .
Chrome,
Python App Engine2
. :

;
-
(. 3.50);
, ,
(. 3.51).
1 GTAC, , YouTube http://www.youtube.com/watch?v=Pug_5Tl2UxQ
2 App Engine Google . App Engine , App Engine
Google Scale . http://appengine.google.com. Java, Python Go.

214

. 3.50.

. 3.51.

215

google.com, , .
,
, . ,
, . , ,
.
.

, , .
,
,
. !
Google ,
, . , ,
.
, , ,
.


Google , ,
.
, .
, . Google
: ,
. ,
, , , . ,
, -.
Chrome OS. ,
Wi-Fi 3G ,
.
. ,
,
3G, . ,
, .
216

,
. ,
, . ,
20 Wi-Fi.
,
1. , , ,
. ,
( . 3.52 3.53).
, , , .
.

(/)
40
802.11n
30

20

802.11g

10
802.11b
0

41

51

61

71

81

91

101 ()

. 3.52.

. 3.53. Chrome OS
1 Allion Test Labs .

217

, Google
.
.
, , ,
. , ,

Chrome OS.
, . ,
.
, Google .
-. ,
,
. - . ,
,
. , .


Google Docs

Google Docs -
Google. -,
.
Google.
, .
?
? ?
: ,
. ,
. , .

218

, . ,
. , ,
, . , .
, , . ,
. :
, .
?
: ! , ,
.
: -
. ? ?
? ?
? ,
? ?
?
, .
. ?
? , ,
, ,
. ,
.
, .
, . ,
. , ,
IRC- .
, ,
.
. ,
! , , ? ?
: ! ,
. . , .
, ,
.

219

, .
?
,
. ,
.
. ,
, -
.
.
, ,
. , . ,
, .
, : ,
, , . ,
. .
?
: !
. , ,
.
,
,
.
?
, ?
: ,
. ,
.
,
. , ,
.
, , , , , ,
.

220

, , ,
.
, . ,
. ,
, . , .
.
Google Sites.
? ?
?
: Sites . , , Google,
Google .
, , . , .
, , ,
Google Sites, ,
. ,

.
, , . Google
, - ,
. , , . , ,
Google Sites, Google JotSpot,
. .
, .
, , . ,
, ,
.
(, Google Sites!), : ,
, . .
,
, .
, , . ,
, .

221

, ,
?
: ,
.
,
. , - .
. , ,
!
?
: ,
. , .
, . (
!), ,
. , , ,
. , ,
,
. , .
, ?
: . ,
. ,
, , . ,
, - , , , , , , ,
, .
, .
?
:
. .
, ,
, . Google, Sites, .
, ,
.

222


, ?
: , ? ,
, , -
, ,
. , -- ,
. ,
-
, .
?
: , , . , .
, .
, : , ,
, .
?
: , .
, .
, !
. ,
. ,
.
Google ?
: . ,
, , Google, , 20%
, .
, , .
?
: , ,
. ,
(, !), - -. -
, , -

223

. ,
,
. ,
, , .
.
?
: , . ,
, , , ,
. ,
, .
,
.


YouTube

Google Offers. YouTube Google -.



.

YouTube.
, Google?
?
: ! apple@apple.com ! Google
-
. , , Google .
.
, . , .

224

.
: Google , ,
. -,
, .
, ,
, . Google
,
. , ,
. , Google ,
. .
.
Google?
: . , ,
Google, , , . ,
,
. , Google ,
. , , .
, . , .
Google .
,
.
.
, ,
. .
,
.
,
.
: ---.
,
. Google ,
.
.

225

, Google
?
: , , , .
, , .
.
,
YouTube?
:
YouTube.
, . !
Vevo, , YouTube
.
Sony Music Entertainment Universal Music Group.
14000. Vevo YouTube
14 .
YouTube Flash,
ActionScript 2 ActionScript 3,
Channel Branded Partner.
Google?
: ,
, . , Vevo YouTube, , ,
. . .
YouTube?
: YouTube , .
,
, , .
YouTube ?
: , ! -
. , .
, -

226

, , ,
, .
.
?
: Google, .
. , , .
. , , ,
.
? ?
: , ( YouTube
Ads , ), ,
.
. ,
, , . .
,
.
. (
),
( ) (
, ).
, .
, YouTube Selenium.
Selenium?
: API, ,
, Python, Java Ruby,
JavaScript , .
, .
, API,
. Selenium ,
,
. ,
Ad Banana Proxy ( -, HTTP). :
Banana Proxy,
Selenium. ,

227

URL-, .
, . ,
- ,
.
YouTube Flash. ? , Selenium?
: , . . JavaScript API ,
Selenium .
pdiff, , .
HTTP ,
. As3Unit FlexUnit
. , , .

?
: . CSS,
- IE . ,
CSS .
, 2010 . IE7
, - . , ,
.
, .
, - , , .
,
.
YouTube.
:
URL-.
. , , -

228

.
.
.
URL-
URL-, .
.
, ,
. ,
, ,
, .
, .
YouTube , . ,
?
? , ?
: , ,
. ,
, , .
- .
AS3 Player Helper
. 1.
FlexUnit, YouTube, . ,
.
. , ,
. , , , ,
, . .
-.
,
Flash -, ?
: -, . . . , .
1 AS3 Player Helper http://code.google.com/p/youtube-as3-playerhelper/source/checkout

229

,
. ,
. 70-20-10: 70% -,
, 20% , , 10%
(, ),
.
. ,
, .
,
.
, YouTube ?

: , , . - , .
, !
!

, , Google
, . , . -. ,
.
,
. -
. , Google.

-
Google , ,
. , , -.
Google: ,
1,
.
1 , Google , -. ,
.
. , Google ( , )
.

231

- ,
. , , (
) . ,
, .
, , , , ,
. ,
. .

, , , . . Google .
, .
, . -
. ,
- Chrome. , ,
, , , DOM, cookie, ,
.

-.
- Gmail, , , Gmail, ,
-.
, , , Gmail, .
, -:
.
. , -
, , -
. ,
.
Google , .
-, , , . . . ,
,
. -.
, . ,

232

: , , ..
, , . ,
. .
, ,
.
Google . ,
. , , . ,
, . , .
, . ,
.
.
, ,
.
,
. , - . ,
, , .
, , ,
- . ,
-,
, .
,
.



Google
. ,
18 . , . ,
YouTube. .
, , Google. ,
.
233

-. ,
.
, Google Maps, , Chrome Google Docs!
.
,
. ,
.
. ,
, ,
.
- . -, .
,
Google . , ,
,
1.
Google -. ,
. , . ,

. ,
( ) , ,
.
:
. , .
.
, , .
.
.
. ,
, .
1 20%, . A , , : 80% B, 20% A.

234

.
, . ,
, ,
.
- .
,
, -.
- .
: -
, .
: .
- , . ,
. -
, .

, .
, - .

Google -
. ,
. .
,
, .

. - ,
.
,
.
, . ,

. - ,
, , .

-.
235

,
. -
.
. ,
. Google ,
.
, . Google
, (,
, ).
, ? .
. ,
. ,
, Google ( ).
- , ,
. Google
,
- .
, , ,
. - ,
.
,
, ,
. ,
.
, .
- .
, - , . -, ,
, , .
Google , . , ,
, .
,
. ,
.

236

Google . ,
Google, .
,
. - , , , .
,
. -
, ? -
? !
.
, , , , ,
.
, .

,
- Gmail
,
. Google
, .
Gmail.
Gmail : ,
. , Gmail Google, Docs, Calendar . ., Gmail .
, Gmail , . , ? ,
Gmail , ,
, , , .
, , . Gmail ,
. Google,
.
, ,
Gmail.

237

, .
, ?
: . , .
, . ,
. , .
, ,
. , , !
: ! . , ,
, ?. , . ? ?
, ?
?
, - , ,
, - ,
. ,
, .
?
: . -, .
-, ,
. .
Gmail . , .
?
: . ,
. ,
,
. ,
. Gmail, ,
,
. ,
, .

. , . ,
.
.

238

, ,
. , , ?
: , WebDriver, . , , ( )
( ),
, .
, , , , .
,
. ,
.
, Gmail.
, . ,
Gmail . , Gmail . ,
,
.
.
, , . ,
.
.
Gmail.
-, , .
, 512
, 40- . Gmail
, . , .
. , . .
. .
, , ,
, .
, (

239

), . , Gmail ,
.
: , , . ?
: ! ,
.
Gmail, .
, , . -
. ,
(,
, ),
.
, . :
,
. : .
Google ,
. ? ?
: ,
, .
, .
-,
. , . ,
.
-, ,
, . .
Google
Feedback Gmail. , , ,
. , Google,
,
Gmail .
, , ,
!

240

, ?
? ?
: .
, .
, . Google , ,
. ,
Google . Gmail :
20% . ,
,
. 30% ,
,

. 50% ,
,
. ,
Google,
Gmail .
, Google+.
Gmail ?
: . Gmail ,
, ,
. , :
, .
, ,
. .
, .
, .
20% 80% . 20% .
.
- Google, , .
, . , .
.
, ,
.
241

Google. , .
, ?
: . , , ,
, .
, ?
, ,
.
, .
, , !
, .
, .
- .
TDD !
? -
?
: .
, .
, ,
. . ,
.
, , . ,
, .

.
,
. ,
, .
,
. ,
, .
Gmail?
: JavaScript.
Gmail, , .
, -

242

. ,
Gmail,
. Gmail
, . ,
Social. 20
!
. Google ,
, -
. ,
. , .
,
, -. : .
, .
.
, ( )
.
, , . ,
.
, .

?
: , . , , , , ,
! ,
, .
, ,
. , .
, .
. ?
: ,
. , .
. ,
.

243

,
Android
Android,
Apple TiVo1.
C Android Google . , Search Ads. Android
.
, .
,
. ,
Android, ;
. :
.
, , Android.
, . , , ,
?
: , . Android,

, .
. ,
.
, .
, !
,
. ,
Android?
: . . .
, .
, . ,
, 1 TiVo , TiVo.
,
.

244

, .
, .
Android : , ,
. ,
. , ,
, .
, : ! , . , ,
, . . . : , ,
, ,
. , .
, ,
. .
. ?
: 80% .
. ,
. ,
. Google , - Android, ,
, . Google .
?
: , . , ,
. : ,
. , ,
. , ,
. .
, : , ,
.
, !
, .
, , , .
?
: Android . ,
Chrome OS ,
. -

245

, . Android
: (, ..),
, .
, ,
.
, . ,
, .
. ?
?
: .
,
, , , .
. ,
, . , .
, ,
, . , ,
Droid-.
! Droid-?
: , . , Android . -
, Chrome. ,
Droid- ( , Android),
, Google- (,
). , .
, ,
.
?
: . . , .
. ,
, . ,
, . , , .
, , , ,

246

. ,
- . ,
, , .
, , ?
: , , .

, , .
, , .
, , ( !).
: . . , , . ?
? ,
? ?
? ,

, .
, . ,
,
. , ,
, . ,
. ,
.

?
: . - .

. GTCM,
. .
.
,
. , :
.

247

.
? TDD? -?
: , - , , . , , .
, ,
, . ? ! , !
: ,
.
, , .
-, , . , - ,
(
). . , ,
.
, .
. . .
, . .
, . ,
. , ,
.
.
, , ! -.
Android, ?
: , !
!
! ? ,
?
: , . , .
. .
, ! !
: , (Active Wallpaper)
. . , , .
. , ,
!

248

,
- Chrome
- Google
() . , Chrome Chrome OS.
, , ,
, .

Chrome Chrome OS.
, !
( ): Chromebook !
?
: ! , - .
Chromebook , - , . , !
,
: , Chrome Chrome OS ,
(
), . . ?
: . ,
. ,
. ,
. , -
.
? ,
?
: . ,
- . . ,
,
( ). -

249

, .
.
,
. : Chrome Chrome OS
, ! ,
? .
, .
, , , ,
. ,
, , ,
.
, Google.
: , , Amazon.
, Google !
, Chrome Chrome OS.
Google . ,
?
: , .
Google. - , -.
,
. , Google
.
Chrome . ,
. ,
. ,
.
, .
, ?
: ! , , Chrome . , , , HTML Flash . ,

250

. ,
, .
, ,
. ,
, .
, . ,
, .
, .
: ? ,
,
. , , !
. Chrome
? Chrome -? ,
. , ?
, ( Google
) Chrome .
. ,
. ,
, , .
, . ,
. Chrome API,
Automation Proxy, ,
URL-, , ..
Python,
Python (
Google). ,
PyAuto1, ,
.
, Chrome. Chrome OS Chrome,
, , , ?
: , Safari, Mac OS?
IE, Windows ? , !
Chrome OS Chrome,
.
1 PyAuto : http://www.chromium.org/developers/testing/pyauto

251

, , . Google , ,
, .
,
Chrome. PyAuto Chrome.
: , , , ,
, 3G !
. , Google
. .
,
.
. Chrome
OS
Google. ( )
, .
(, , )
. , !
, . ?
? ? ,
? ?
, , ,
!
: , , ,
. , , .
Autotest1 (- Linux)
Chrome OS. ,
,
,
. Autotest , -,

. , PyAuto Chrome, Chrome OS.
1 Autotest http://autotest.kernel.org/

252

Google :
. , , ,
, .
?
: ,
. .
, , , .
. , . ,
!
, ,

Google. , Chrome -
. CR-48,
Samsung Chromebook
? , !
Chrome S ?
!
, . . , , ,
. ,
. .
, Google ,
. , , - .
, .
, , , . ,
, .
: ?
: .
- , :
. .

. , : HTML5, ,

253

1 . , ,
Google, , , .


Google .
, , .
. ,
. Google,
. - ( ),
- .
.
,
Google: , , . . , .
, , . Google ,
. - .
The Web Works (youre welcome)2;
, .
, .
,
. ,
,
, .
: 20%
, .
Google,
, ,
1 ( . sandbox) .
, .
2 The Web Works (youre welcome) (
). . .

254

. . , !
,
.
.
,
- . ,
, , Google, ,
. Google, ,
.
Google? , ,
!

,

Search Geo
; - . Google,
, , ,
.
- , ,
. , Google Local and Commerce: ,
, Google Earth Maps.
, Google ,
Google Search.
, Google , ,
, . ,
?
: , , ,
Google .
, , , ,
255

, . ,
, .
, , . ,
.
, , .
, .
-, , ?
: ! - ,
, . , . , - BigTable .
- ,
.
? .
: .

. ,
-. .
, -,
, .
?
: . ( ,
, ).
, . -
, . , ( , )
, ,
, .

256

, .
? ? ?
: , Google.
, Google :
, ( , ) ;
.
, ,
;

.
, -, ( ).
, ,
,
. , , , .
Google ,
.
?
: , !
Search, , Google
. , , . ,
,
, . .
, , ,
, , .
.
. ,
. ,
Google , .

257

?
? ?
? ?
: : ?. , ,
. .
: , ,
.
? . (
) .
, , ,
. ,
, , , .
. , Google
. ? ? ,
?
: , .
, .
,
. ,
. ,
, .
, - .
, . , , .
.
, . 90% ,
10% , .
,
, . ,
, . , .
, .
: ? , -
? , !
258

-. ,
. , . .
,
, .
, ?
: ! , , ,
, .
.
, .
. ,
.




Google. ,
. Google: IDE,
, -, ,

. Selenium WebDriver .
, Google .
Google - ,
GTAC, , .
,
Google?
: , , 90% ,
Google, ,
. 10% , ,
.
259

Google ,
.
MapReduce BigTable, .
.
?
: , ! :
.
, .

.
.
. IDE,
Google .
-.
.
, , !
, . ,
.
. .
. ( ) .
: -.
Google
.
. ,
,
.
, .
Google, , . ,
.

260

, .
, .
? .
: : . . . -
, ,
Google. , , - .
, , ,
, .
, Google. ,
,
, .
.
. , ,
- .
, , ,
. , ,
, , .
, , , !
,
,
Google.
, , ?
: ! . ,
. ,
. -
, Google.
,
,
. ,
.
: .

, : . ,

261

: ,
, .
, , ?
: ! . Google .
. , ,
, ,
, .
.
, , Google Talk.
,
, . ,
.
, Google Talk, .
, ,
. , .
,
? ?
: ,
- .
, , ,
. ,

.
? ,
, .
, .
, .
. ,
, .
-, .
?
?
:
. , . . ,

262

, .
, ?
: Google . .
, , ,
. , ,
. , .
, .
- ,
, ?
: , ,
.
. . , ?
: , - .
?
?
: , .
, - .
,
.
. , , ,
.
: , .

,

Google

, Google.
,

263

, . Google, (
, ?) . ,
.
Google -. ?
: , Google,
, .
,
.
, , , ,
, -, , .
.
- Google, ,
- . Google ,
.
,
Google. .
Google,
.
Google?
: , .
, ( HYD)
.
HYD , ,
.
Google: Search, Ads, Mobile, Gmail, Toolbar
.
,
. 20062007 HYD
Google. , , HYD.
, ,
.
2007 , , .

264

2008 ,
. .
,
-
, .

.
Cloud Code Coverage, Cloud Scalable Test Infrastructure,
Google Toolbox, IDE ,
.
Google, , .
HYD App Engine, Selenium, Eclipse, IntelliJ
-.
, .
, HYD?
: . , Google Diagnostic Utility
.
,
Google.
.
.
, Google.
, , , .
Google,
, Search, Enterprise, Gmail Ads.
. . , ,
. Google Testing.
: ,
. (, ) . Google ,
, ,
.
, .

265


.
, .
Google
. ( !) .
Google.

. ,
. , . Google
.
, .
Diagnostic Utility, .
: Diagnostic Utility
.
,
, .
,
. ,
(, ), , , .
Diagnostic Utility . , ,
, , .
( 300 ) ,
Google. ,
,
Google.
. ,
.
.
Diagnostic Utility (, Google
Chrome Google Toolbar) , .

266

.
? ,
Gmail?
: Google -, . ,
JavaScript
.
, .

Gmail, . ,
,
. ,
,
.
:
.
.
.
.
,
.
.
. , -
. ,
.

. .
- .
?
: ,
,
. ,
.
, , . ,
, .
267

, . , .
: , , .
.
1 , .
, .
. . ,
, .
-. . ,
.
, ,
. , , Google , . .
Google, . .

-

, , -
Google, Gmail, Google Docs Google+. Google
Feedback - Angular.
, .
, Apple.
Google ?
: . NeXT2,
Google. , -
. 1 ( . follow the sun) , , ,
( ) ,
. ,
.
2 NeXT , 1985 .
. 1996 Apple.

268

: ,
, . ,
.
Google ?
: Google 2007 , , , . , -
.
, . ,
. 1,
Google . , .
, . - .
Google?
: . : . , API,
, .
, .
. ,
. :
, . ,
. Google ,
, .
, Google? ,
Google?
: ,
. , ,
,
, , , .
, , ,
,
. , , ,
. , . ,
!
1 , : http://ru.wikipedia.org/wiki/__.

269

, . ?
? ?
: , , .
! ,

, .
, . , ,
. , ,
. ,
, , ,
.
, ,
, . , ,
.
. ?
. , 84%,
! ?!
, , .
: ,
.
, , .
Google Feedback. ? ?
: Feedback ,
Google. ?
?
, . ,
.
Feedback.
, Google Feedback?
: Feedback , . , ,
.
. .
JavaScript .
.

270

. -,
.
?
: , . ,
.
. , ,
.
.
Google Feedback?
: 12 . , , , , ,
, Google Feedback.
Google Feedback?
: .
, . . , - ,
.
.
Google Feedback? , -
Google?
: . . ,
.
, , .
?
: ,
, . , , ,
, ,
. .
. ,
. ,
, .

271

- ,
?
: ? , . ,
, !


Google ,
. , ,
, : GTAC
, .
, Google
. , ,
.
.
2009 Google Microsoft. , Microsoft,
? ?
: ? ! , !
, !
: . Twitter , MSDN. , , .
Microsoft , , , . .
, , , . , .
, . ,
. Microsoft, , .
,
Google
.
? Google ?
: , . , ,
272

. ,
! , ! , !
, ! ,
, ?
Microsoft, Google.
.
Google
. .
Microsoft, . ,
Google.
.
, , , ,
. . . ,
.
, ,
. ! ?
. ( ),
.
Google. - . .
, . ,
, , ,
? , .
, . , . ?
?
: , . , ? , Microsoft . , Google .
,
. , ,
- ( Google
Feedback, BITE). Google , .
,
. ?
: , ,
. .
273

,
.
, ,
.
,
. ,
.
,
, .
Google Toolbar,
Google Desktop. ! :
. , .
, ,
.
,
.
.
,
, , . ,
, .
, , . ,
, .
Google?
: . ,
:
, Google.
, , , .
!
.
. , .
. , . , . .
, , , ,
.

274

Google? Microsoft,
?
: . . . ,
, . Google,
, , Microsoft. . ,
.
?
: , , . , , ,
. ,
. : , , ,
Google, .
, .
Google , .
, - . Google, .
, , .
Chrome Chrome OS .
, .
. , - . , Google
. ,
, . -
, : ,
.
,
?
: , .
, ,
. ,
. .
. , ,
. , ,
, . , , .

275

?
: ,
. ,
. , .
, .
. :
. .
. , ,
! , ,
, -
. Google . , ,
, - , .
.
. , .

Google, .
,
. , , ,
. , .
, ,
.
Google . Google?
?
: : , ( , ), (
, ),
.
, ! ,
, .
?
?
: , .
, 276

.
STAR ,
. , .
How to Break Software.
, .
.
How to Break Software Security, How to Break Web
Software, . .
. , ,
, , , . ?
. , .
, , ,
. ?
- .
!
: , . Exploratory
Testing , . , . ,
.
, .
, , - .
, .
, , . , ,
, ! ,
?
: . .
. .
, - , .
, . .
.
Android, , .
. , - . , . ,
- .
, ?
: , ,
. 277

. , !
, . ,
80- , . - .
, C++. ? ,
? , .
.
. , ,
, . ,
- , ,
, . - ,
.
?
: , . , . , ,
, ; -
, . ,
.
. , , .
, . . -
Cheers. : , : !,
, , .
. ,
.


Google

Google :
. . , .
,
. .
, :
?.
Google . , .
, (
) . , , . ,
, . ,
, Google.


Google
. , , :
279

. .
, ,
, . ,
: .
,
, .
, -
, . .
, - ,
. , - .
, ,
. , .
, Google
. - ,
. ,
, .
: , .
. ,
, ,
. .
.
Chrome, .

, , .
, ,
, . .
, .
, . ,
? ,
.
Google
.
: . , .
, , . - . -

280

. , ,
. , -,
, . , , ,
.
. ,
. .
, , . :
,
? : . , , ,
. Google.
Google+. ,
,
Google, .
, .
, , , .
, , ,
, . ,
, .
, ? Google
? ,
. , ,
, Google .
, .
Google .
, . ,
. ,
,
,
.
. ,
, ,
, .

281

, , .
- , . Google
, .
.
: .
, , , . Google.
, ,
. ,
,
,
. ,
Google, IT-.
-, ?
.
, .
, ,
. , . ?
. ,
, :
, .
: ? ?
? , ? Google,
,
. .
, .
1.
, Google.
,
.
1 Google (SRE, Service
Reliability Engineer), Mission Control. ,
SRE, Google Mission
Control.

282

. .
, , , API.
? ,
, ,
. .
- . ,
.
. -, , -,
, ,
, .
, .
, . Google,
, . ,
. ,

: , , .

. ,
. , .
, .

.

, , . , ,
, . .
,
.

283

. .
, , , ,
.
,
.
?
, ,
.
:
? ,
, , ,
,
? ,
, .

.
.
,
. -
,
( ?). ,
, -
, , . - ,
, ,
, .
. , .
. , ,
, -
. ,
, .
, , ,
, .
, . ,
, ,
.

284

-
-
, - ? . ,
, , .

( ,
).
. ,
, ,
.

Google .
Selenium WebDriver, Java Python, ,

shell-. - Java ,
. ,
,
.
. -, ,
. ,
,
. -,
Google. , (,
Android iOS),
- . Native Driver1
, .
, , , 1 Google Native Driver: http://google-opensource.blogspot.com/2011/06/
introducing-native-driver.html

285

.
, . Selenium WebDriver
,
. ,
, .
, - .
,
, , ,
.
, ,
. - ,
.
,
,
, ,
, . ,
.


, , . -
. , ,
. ,
, , , - -
.
.
Google, . ,

. ,
.
Google , .
. ,
.

- Chrome OS

:
: chromeos-te@google.com
: jarbon@google.com


. Chrome OS : ,
, , , ,
,
, .
, ,
.
, ,
. - ,
.
.
,
.
,
, . , HP
.
287

. Chrome OS ,
. , .
.
. Chromium OS
. . ,
Google.
Chrome OS .
Chrome Chrome OS . ,
Chrome OS
. Chrome ,
Chrome OS.
. Chrome OS
Chrome .
.
. ,
-.
, ,
. ,
, Google
Chrome OS.
.
, Google apps, ,
. Android
Webdriver,
Chrome Chrome OS. Google apps. Chrome

-.


, :
, ;

288

,
, ;

, .
. .

. (-, , ,
. .)
. -, . .
,
.

- Buildbots,
:
- ( P0);
.

:
( );
;
- ( , ).

289

,
. , , .

.
AutoUpdate.


- , .
. Chrome 100 Chrome OS.
. Chrome OS, ( - ).
P0. P0.
80% P1, .
. .
- Chrome OS. - Chrome
OS. .

. ,
,
. Chrome OS
,
. .
. ,
( !) .

290




. , Autotest.

. , . ,
, .


, Chrome
:

.
. , , , .

.


. ,
. ,
.
GoogleFeedback. ,
URL-.
.
, GoogleFeedback Chrome OS,
ChromeUX.
.
, -

291

Chrome OS.

, .
,
.

-
: - TestScribe. - code.google.com.
: -
Autotest. , .


,
. : (/
), .
.

, ,
Chrome OS. ,
Selenium WebDriver
Chrome OS
.

292


Chrome OS.
.
, ,
.

,


.
(fault injection).


Autotest
Autotest
. Autotest Linux, , , ,
. Autotest .
(, WebDriver),
, .
, Autotest Windows Mac.


Chrome
OS. -

293

-,
.

.
, .


,
( ),
. .
(, ).
HIVE.



.
-,

.

AppManager
Chrome OS Linux- Chrome
, Chrome OS.
,
Chrome
OS. , , , ,
, . .
Chrome OS
Chrome ( ).
, , Chrome OS.
294

- OS / (-300 )
Chrome OS.
/ WebDriver ,
, Chrome OS.

Chrome OS, .
API ,
Chrome OS.
Chrome OS Chromebot Linux Chrome OS Chrome OS, -.
, , ,
. .



Chrome OS. BrowserUX ,
IPC AutomationProxy . Chrome OS -, Chrome
.
. , Chrome
-, -
. :
Selenium WebDriver Chrome OS.
-. Chrome
Chrome OS, , Chrome WebDriver. ,
.
Chrome
JavaScript DOM. WebDriver Chrome. 295

, , ,
ChromeViews
(, raman@).
. WebDriver
API WebDriver JavaScript,
(, Google Search: <>).
, , WebDriver,
-
.

Chrome OS . ,
Chrome OS.
, :
: , ,
. .;
: Chrome OS
?

4- 2009 :
,
.

.
.
.

.
296

Hive .
WebDriver Selenium Chrome OS.
-.
.
Google Feedback Chrome OS.
: .
.
.
.
1- 2010 :
.
.
.
, -,
.
Chromebot Linux Chrome OS.
Chrome OS.

Chrome OS.
Chrome OS -
Selenium.
.
- ChromeSync E2E.
.
.
(
).

297

2- 2010 :
- .
3- 2010 :
- .
4- 2010 :
, , ,
.
.


Chrome OS.
Chrome.
.
.
.

.
, ( ).
.
.
.
: , -.
.
.
.

298


.
.
E2E.
.
.
.
.
.

.
Chrome OS.

Chrome


: ,
, - .
. ,
, , 800 .
300

.
, - .
,
- . , .
,
.
: Chrome , . , - .
.
- ( ):
eBay (www.eBay.com)
Amazon (www.amazon.com)
Sears (www.sears.com)
Staples (www.staples.com)
OfficeMax (www.officemax.com)
Macys (www.macys.com)
NewEgg (www.newegg.com)
Best Buy (www.bestbuy.com)


: .
, , . ,
, , . .
,
.
: .
: , Chrome
. ,
? ?
301


Chrome :
:
?
: -, , .
:
.
: ,
( ).


: .
,
.
, ,
. , , .
: Chrome (Windows, Mac Linux)
.


Chrome :
: Windows, Mac Linux.
: .
: , .
: -, Wi-Fi, ,
.
302


: . ,
(, , ) .
, . . , .

, .
: Chrome , . , (, ,
, ).

Chrome
Chrome :
: -.
: ;
.
: ;
.
: , .
: ,
,
.
: , JavaScript .
: .
: ,
Chrome OS.


: ? ,
303

. , . ?
?
, ,
.
, .
,
.
: Chrome, ,
.
, , . , Chrome
, .


Chrome :
: .
: .
: .


: , .
, . ?
?
,
, . ,
, .
: Chrome
JavaScript -, . ,
-.

304

Chrome
Chrome :
: ,
, .
JavaScript: JavaScript?
: ( )
, ?
: , , -?


: , .
, .
: Chrome . .
Chrome
YouTube. ,
.

Chrome OS
Chrome :
-: Hulu, YouTube, ABC, NBC, ,
.
Flash-: , .
: , .
Java: Java (,
Yahoo!)
O3D: , Google O3D (, Gmail).
: .
305


: , , .
,
.
-
.
: Chrome , ,
, , .

Chrome
Chrome :
: Chrome OS.
: Chrome OS .
Chrome: Chrome
.
: , .

Google Testing Blog.


BITE
, 12 2011 . 9:21
http://googletesting.blogspot.com/2011/10/
take-bite-out-of-bugs-and-redundant.html

,
. .
. .
, .
.
.
, .
307

BITE (Browser Integrated Testing Environment) Chrome (http://code.google.com/chrome/extensions/index.html),


- (. .1). ,
, . BITE
-, .

. .1. BITE Chrome

, BITE ,
,
, . .2. , , ,
.

, . BITE,
, JavaScript
. ,
.

, BITE Record Playback Framework (RPF).
JavaScript,
.
BITE : -

308

, ,
. BITE .
, ,
, .
, Ace (http://ace.ajax.org/),
JavaScript .
BITE http://code.google.com/p/bite-project.
bite-feedback@google.com.
- ( ,
, ).

. .2. BITE

309

QualityBots
, 06 2011 . 13:52
http://googletesting.blogspot.com/2011/10/
unleash-qualitybots.html

- ,
Chrome ? Chrome? !
QualityBots (http://code.google.com/p/qualitybots/)
, - Google . - Chrome
DOM-. Chrome,
QualityBots . , QualtityBots
,
Chrome.
- QualityBots Google AppEngine (http://code.
google.com/appengine/), , -,
EC2. QualityBots, Amazon
EC2. ,
- Chrome. -,
, URL- ,
(
. .3).
, - .
Chrome,
(. .4).
, .
, -
QualityBots (http://code.google.com/p/qualitybots/).
qualitybots-discuss@googlegroups.com.
, - ( , , ).

310

. .3. QualityBot.
-

. .4. QualityBot ,
Chrome

311

RPF: Record Playback Framework


, 17 2011 ., 5:26
http://googletesting.blogspot.com/2011/11/
rpf-googles-record-playback-framework.html

GTAC , Record Playback Framework


BITE. , , -
. ,
RPF .
, , JavaScript . ,
, RPF , .
, . , RPF, - Chrome,
. - Chrome?
,
, ,

Selenium. .
- Chrome ,
, :
. Selenium ,

, .
: , ,
, Selenium? ,
DOM ,
, ? ,
, ?
-
, , ,
. , (,
), -.
,

312

.
,
BITE. ,
.
, !
RPF,
. Selenium
RPF, - ( Google ).
, ,
. , ? . . ,
, . ,
.
,
,
?
RPF .
77% - RPF.
- , RPF , Selenium/WebDriver.
RPF
.
(, ) (
).
RPF Chrome OS, Selenium ,
. RPF , ,
- .
BITE ,
BITE
. .
.
, RPF
Chrome, -
.

313

, , - , . , - Chrome
Selenium, 23%
Java . , ,
AJAX- .
, RPF .
BITE. ,
, ,
. , -. , RPF
, .
,
. , ,
. , ,
,
, Google Maps .
RPF ,
, ,
.
RPF Chrome,
. ,
, ,
BITE/RPF.
BITE/RPF (http://code.google.
com/p/bite-project/). ,
.

Google Test Analytics



, 10 2011 ., 13:03
http://googletesting.blogspot.com/2011/10/
google-test-analytics-now-in-open.html

- !
, . STAR West
-.
: -?.
80 . -
?
.
,
. ,
.
Google -.
, , .
, ACC. ,
, , 10- - ( 30 !).

ACC , .
Google ,
.

ACC : ACC
.
-.
315


ACC .
,
, ,
.

,
- ACC, ,
(, ).
, Test Analytics
(http://code.google.com/p/test-analytics/) , Google
ACC-.
Test Analytics :
ACC (. .5).
, (,
..6). , ACC, (. .7).

. .5. Test Analytics

316

. .6. Test Analytics

. .7. Test Analytics

317

Test Analytics ACC- ,


. Test Analytics
: , -,
. ,
, .

, .
. ,
.
.
(. . .8).
, ,
.
. , : ,
, , , -.

. .8. Test Analytics,

(http://goo.gl/
Cv2QB), (http://code.google.com/p/test-analytics/) -

318

(http://code.google.com/p/test-analytics/wiki/AccExplained), , ,
.
Google Group (http://groups.google.
com/group/test-analytics-discuss), Test Analytics.
- , -!

. , . , .

Google

,




,


,

, 192102, -, . (. ), . 3, , . 7.
005-93, 2; 95 3005 .
04.12.13. 70100/16. . . . 27,090. 1500.
-.
, www.pareto-print.ru.