Sachverhalt:
A.
Mit Verfügung vom 4. April 2013 verneinte die IV-Stelle des Kantons St. Gallen den Anspruch von A._ auf eine Rente der Invalidenversicherung.
B.
In Gutheissung der Beschwerde von A._ hob das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 21. April 2015 die Verfügung vom 4. April 2013 auf und sprach der Versicherten eine Viertelsrente zu. Es wies die Sache an die IV-Stelle zurück, damit diese über die Höhe der Rente und deren Beginn neu verfüge.
C.
Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragt die IV-Stelle, der Entscheid vom 21. April 2015 sei aufzuheben und die Verfügung vom 4. April 2013 sei zu bestätigen.
A._ ersucht um Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung.

Erwägungen:
1.
1.1. Der vorinstanzliche Entscheid spricht der Beschwerdegegnerin eine Viertelsrente der Invalidenversicherung zu und weist im Übrigen die Sache an die Beschwerdeführerin zu neuer Verfügung über die Höhe der Rente und deren Beginn zurück. Dabei handelt es sich, formell, um einen Rückweisungsentscheid, der nur unter den Voraussetzungen von Art. 92 oder 93 BGG beim Bundesgericht anfechtbar ist. Da indessen die Rückweisung lediglich noch der Umsetzung des von der Vorinstanz Angeordneten dient, wobei der Verwaltung kein Entscheidungsspielraum mehr verbleibt, liegt in Wirklichkeit ein Endentscheid nach Art. 90 BGG vor (Urteil 9C_684/2007 vom 27. De-zember 2007 E. 1.1, in: SVR 2008 IV Nr. 39 S. 131).
1.2. Das Bundesgericht wendet das Recht von Amtes wegen an (Art. 106 Abs. 1 BGG); es ist folglich weder an die in der Beschwerde vorgetragenen Argumente noch an die Erwägungen der Vorinstanz gebunden (<ref-ruling> E. 1.3 S. 67 f.; <ref-ruling> E. 1.2 S. 252). Das Bundesgericht prüft unter Berücksichtigung der Begründungspflicht (Art. 42 Abs. 1 und 2 BGG sowie Art. 106 Abs. 2 BGG) indessen nur die geltend gemachten Rügen, sofern die rechtlichen Mängel nicht geradezu offensichtlich sind (<ref-ruling> E. 2 S. 315; <ref-ruling> E. 1.4.1 S. 254).
2.
Die Vorinstanz hat durch Einkommensvergleich (Art. 16 ATSG i.V.m. Art. 28a Abs. 1 IVG) einen Invaliditätsgrad von 46 % ([[Fr. 66'253.- - Fr. 35'777.-]/Fr. 66'253.-] x 100%; zum Runden <ref-ruling>) ermittelt, was Anspruch auf eine Viertelsrente gibt (Art. 28 Abs. 2 IVG). Fr. 66'253.- entsprechen dem Verdienst, den die Beschwerde-gegnerin 2010 bei einem Arbeitspensum von 80 % erzielt hätte. Tatsächlich hatte sie in diesem Jahr bezogen auf ein Normalarbeitspensum (41,6 Wochenstunden) rund 44 % gearbeitet. Fr. 35'777.- (Fr. 66'253.- x 0.54 [= 54 %/100 %]) hätte sie gemäss Vorinstanz 2010 bei einem Arbeitspensum von 54 % entsprechend der gesundheitlich bedingt noch zumutbaren Arbeitsfähigkeit verdient.
3.
Nach Auffassung der Beschwerde führenden IV-Stelle ist die Beschwerdegegnerin als im Gesundheitsfall zu 80 % teilerwerbstätige und daneben im Aufgabenbereich Haushalt tätige Versicherte (Art. 27 IVV i.V.m. Art. 5 Abs. 1 IVG und Art. 8 Abs. 3 ATSG) zu betrachten und dementsprechend die Invalidität nach der gemischten Methode zu bemessen (Art. 28a Abs. 3 IVG; grundlegend <ref-ruling>). Zur Begründung verweist sie auf <ref-ruling> E. 4.5 S. 22 f., woraus sich ergebe, dass die Haushaltsgrösse kein massgebendes Kriterium für das Vorliegen eines Aufgabenbereichs sei. Dies habe die Vorinstanz verkannt und zu Unrecht die Tätigkeit der Beschwerdegegnerin im Haushalt von der Invaliditätsbemessung ausgenommen.
4.
Es kann offenbleiben, ob die Invalidität nach der Einkommensvergleichs- oder nach der gemischten Methode zu bemessen ist. Ebenso braucht nicht auf die diesbezüglichen Vorbringen der Beschwerdegegnerin eingegangen zu werden. In beiden Fällen beträgt der Invaliditätsgrad weniger als 40 %. Der Vorinstanz ist bei der Ermittlung des Invalideneinkommens ein Fehler unterlaufen. Hätte die Beschwerdegegnerin 2010 mit einem 80 %-Pensum Fr. 66'253.- verdient, betrüge der Verdienst bei einem zumutbaren Pensum von 54 % nicht Fr. 35'777.- (Fr. 66'253.- x 0.54 [= 54 %/100 %]; vorne E. 1), sondern Fr. 44'720.- (Fr. 66'253.- x 0.675 [= 54 %/80 %]). Daraus ergibt sich ein erwerblicher Invaliditätsgrad von 33 %
([1 - 0.675] x 100 %). Die Einschränkung im Haushalt müsste somit mehr als 65 % betragen, damit nach der gemischten Methode bei Anteilen von 0.8 (erwerblicher Bereich) und 0.2 (Aufgabenbereich) ein Invaliditätsgrad von mindestens 40 % resultierte, was aufgrund der Akten ohne weiteres ausgeschlossen werden kann. Die Abklärung vor Ort hatte keine Einschränkung ergeben (Bericht vom 18. Februar 2013).
Die Beschwerde ist somit begründet.
5.
Ausgangsgemäss hat die Beschwerdegegnerin die Gerichtskosten zu tragen (Art. 66 Abs. 1 BGG).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird gutgeheissen. Der Entscheid des Versicherungsgerichts des Kantons St. Gallen vom 21. April 2015 wird aufgehoben und die Verfügung der IV-Stelle des Kantons St. Gallen vom 4. April 2013 bestätigt.
2.
Die Gerichtskosten von Fr. 800.- werden der Beschwerdegegnerin auferlegt.
3.
Die Sache wird zur Neuverlegung der Gerichtskosten und der Parteientschädigung des vorangegangenen Verfahrens an das Versicherungsgericht des Kantons St. Gallen zurückgewiesen.
4.
Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 22. September 2015
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Glanzmann
Der Gerichtsschreiber: Fessler