Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
2-018-07
004.415
13
. , . , .
13 Google. .: , 2014. 320 .: .
ISBN 978-5-496-00893-8
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
...........................................................................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
........................................................................................... 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,
- .
, . , ,
.
27
, . ,
, .
:
Google ?.
,
. Google,
.
, .
(
, - )
, , .
- . -,
. , Google ,
. -,
Chrome Chrome OS (,
), Google .
Google.
28
Google , .
, ( - )
.
- , , , . , ,
Google . Google , , , . , .
Google , .
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% ,
, .
, , ,
.
, .
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 ,
( !) .
47
, , ,
.
Google ,
.
, , ,
.
,
. ,
.
.
, -
.
, , .
, .
,
.
. ,
.
, .
,
. , .
,
. 1.
Google -, ,
, . 1 Google .
, , . . ,
! , ,
.
48
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;
}
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;
}
, url uri. ,
:
message AddUrlRequest {
required string uri = 1;
optional string comment = 2;
}
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
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
70
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;
//
//
//
//
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 - , , .
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
. , , , .
120
,
, .
Google -: ,
Google Test Analytics (GTA), .
, , , .
C Component
? !
. ,
. , , -,
. ,
, , . ,
, !
, ,
, , .
, .
,
. . ,
. ,
.
, .
, .
,
. . ? !
? , . ,
, .
, . ,
121
.
, , , .
.
, . ACC- ,
, .
, ,
. ,
.
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-
.
131
. 3.7 .
. , , . , ,
, . ,
.
, , , .
,
?
, ?
, .
. :
, .
,
. , ,
, , - ,
59%.
,
, :
132
. .
.
.
, , .
:
?
?
?
?
?
, ?
?
?
?
, ,
, . Google
: .
. , .
,
. ,
, . GTA (. 3.8).
GTA :
: , , , .
: Google Chrome1. ,
1 http://www.google.com/chrome
133
. HTML
, .
: , . -
.
: Chrome. ,
, . ,
, - ,
.
: , , , , .
: Chrome Sync. Chrome ,
, ,
.
, .
, , , .
, ,
.
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
, 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,
, -. , , ,
. ,
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.
154
. 3.21.
.
, !
155
, ,
. . ,
.
(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
, .
. 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.
, , . ,
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: ,
193
- ,
. . ,
, ,
, .
, ,
.
. Google ,
. Google
,
.
Chrome. , Bots
Chrome.
, .
, Chrome ,
,
-.
Google. , Bots, .
-. ,
Chrome. Bots ,
. ,
.
Bots, . Bots
, Apple
WebKit. -,
Bots , -.
: ? .
, :
, .
Chrome .
, Bots
.
, Instant
194
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.
. (. 3.45)
1.
207
GTA. ,
208
, , . , ,
. -, ACC,
. .
GTA
, .
GTA , .
GTA,
, -. Google , . ,
, .
.
, , ,
. , ,
, , .
, ,
- .
.
Google Sites . 3.463.48.
209
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
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
.
: , .
BITE
, 12 2011 . 9:21
http://googletesting.blogspot.com/2011/10/
take-bite-out-of-bugs-and-redundant.html
,
. .
. .
, .
.
.
, .
307
, 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
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/). ,
.
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).
316
317
(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.
- , -!
. , . , .
,
,
,
, 192102, -, . (. ), . 3, , . 7.
005-93, 2; 95 3005 .
04.12.13. 70100/16. . . . 27,090. 1500.
-.
, www.pareto-print.ru.