Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Unified Diff: components/autofill/core/browser/autofill_metrics_unittest.cc

Issue 2809213002: [autofill] Expand Autofill.Quality.* to log false positives/true negatives. (Closed)
Patch Set: fix unsigned to bool type conversion warning Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/autofill_metrics_unittest.cc
diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc
index c9fd25a046a0fc56ec6e47151179f525531f1c81..0b22bcbed1da1e69cf34ef0850fdbb4a89817f33 100644
--- a/components/autofill/core/browser/autofill_metrics_unittest.cc
+++ b/components/autofill/core/browser/autofill_metrics_unittest.cc
@@ -429,18 +429,34 @@ TEST_F(AutofillMetricsTest, QualityMetrics) {
heuristic_types.push_back(PHONE_HOME_NUMBER);
server_types.push_back(EMAIL_ADDRESS);
+ // TYPE_MISMATCH_EMPTY
test::CreateTestFormField("Empty", "empty", "", "text", &field);
field.is_autofilled = false;
form.fields.push_back(field);
heuristic_types.push_back(NAME_FULL);
server_types.push_back(NAME_FIRST);
+ // TYPE_MATCH_EMPTY
+ test::CreateTestFormField("Empty2", "empty2", "", "text", &field);
+ field.is_autofilled = false;
+ form.fields.push_back(field);
+ heuristic_types.push_back(UNKNOWN_TYPE);
+ server_types.push_back(NO_SERVER_DATA);
+
+ // TYPE_MISMASTCH_UNKNOWN
test::CreateTestFormField("Unknown", "unknown", "garbage", "text", &field);
field.is_autofilled = false;
form.fields.push_back(field);
heuristic_types.push_back(PHONE_HOME_NUMBER);
server_types.push_back(EMAIL_ADDRESS);
+ // TYPE_MATCH_UNKNOWN
+ test::CreateTestFormField("Unknown2", "unknown2", "garbage", "text", &field);
+ field.is_autofilled = false;
+ form.fields.push_back(field);
+ heuristic_types.push_back(UNKNOWN_TYPE);
+ server_types.push_back(NO_SERVER_DATA);
+
test::CreateTestFormField("Select", "select", "USA", "select-one", &field);
field.is_autofilled = false;
form.fields.push_back(field);
@@ -541,6 +557,92 @@ TEST_F(AutofillMetricsTest, QualityMetrics) {
histogram_tester.ExpectBucketCount(
"Autofill.Quality.PredictedType.ByFieldType",
GetFieldTypeGroupMetric(NAME_FULL, AutofillMetrics::TYPE_MISMATCH), 1);
+
+ // Mismatch between a prediction and an empty field.
+ histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType",
+ AutofillMetrics::TYPE_MISMATCH_EMPTY, 1);
Mathieu 2017/04/11 20:18:40 it's a little bit unfortunate how this test is con
+ histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType",
+ AutofillMetrics::TYPE_MISMATCH_EMPTY, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType",
+ AutofillMetrics::TYPE_MISMATCH_EMPTY, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.HeuristicType.ByFieldType",
+ GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MISMATCH_EMPTY),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.ServerType.ByFieldType",
+ GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MISMATCH_EMPTY),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.PredictedType.ByFieldType",
+ GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MISMATCH_EMPTY),
+ 1);
+
+ // Mismatch between a prediction and an unrecognized field.
+ histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType",
+ AutofillMetrics::TYPE_MISMATCH_UNKNOWN, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType",
+ AutofillMetrics::TYPE_MISMATCH_UNKNOWN, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType",
+ AutofillMetrics::TYPE_MISMATCH_UNKNOWN, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.HeuristicType.ByFieldType",
+ GetFieldTypeGroupMetric(UNKNOWN_TYPE,
+ AutofillMetrics::TYPE_MISMATCH_UNKNOWN),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.ServerType.ByFieldType",
+ GetFieldTypeGroupMetric(UNKNOWN_TYPE,
+ AutofillMetrics::TYPE_MISMATCH_UNKNOWN),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.PredictedType.ByFieldType",
+ GetFieldTypeGroupMetric(UNKNOWN_TYPE,
+ AutofillMetrics::TYPE_MISMATCH_UNKNOWN),
+ 1);
+
+ // Match between an "unknown" prediction and an empty field.
+ histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType",
+ AutofillMetrics::TYPE_MATCH_EMPTY, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType",
+ AutofillMetrics::TYPE_MATCH_EMPTY, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType",
+ AutofillMetrics::TYPE_MATCH_EMPTY, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.HeuristicType.ByFieldType",
+ GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MATCH_EMPTY),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.ServerType.ByFieldType",
+ GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MATCH_EMPTY),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.PredictedType.ByFieldType",
+ GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MATCH_EMPTY),
+ 1);
+
+ // Match between an "unknown" prediction and an unrecognized field.
+ histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType",
+ AutofillMetrics::TYPE_MATCH_UNKNOWN, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType",
+ AutofillMetrics::TYPE_MATCH_UNKNOWN, 1);
+ histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType",
+ AutofillMetrics::TYPE_MATCH_UNKNOWN, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.HeuristicType.ByFieldType",
+ GetFieldTypeGroupMetric(UNKNOWN_TYPE,
+ AutofillMetrics::TYPE_MATCH_UNKNOWN),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.ServerType.ByFieldType",
+ GetFieldTypeGroupMetric(UNKNOWN_TYPE,
+ AutofillMetrics::TYPE_MATCH_UNKNOWN),
+ 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.Quality.PredictedType.ByFieldType",
+ GetFieldTypeGroupMetric(UNKNOWN_TYPE,
+ AutofillMetrics::TYPE_MATCH_UNKNOWN),
+ 1);
}
// Ensures that metrics that measure timing some important Autofill functions

Powered by Google App Engine
This is Rietveld 408576698