Location Testing trong ứng dụng Mobile

Vị trí là một thuộc tính quan trọng trong ứng dụng dành cho thiết bị di động hiện nay. Người kinh doanh và nhà phát triển đang nói về nó. Đã bao giờ bạn nghĩ đến cách kiểm thử các ứng dụng dựa trên vị trí có thể được thực hiện? Trong bài viết này chúng ta cùng thảo luận về nó.

Trong bài viết này sẽ đề cập đến các vấn đề sau:

  1. Vị trí là gì?
  2. Khái niệm của nhà cung cấp vị trí
  3. Nghiên cứu điển hình
  4. Công cụ để kiểm tra ứng dụng dựa trên vị trí

1. Vị trí là gì?

Vị trí là nơi hoặc điểm mà có cái gì đó ở trên trái đất này. Mỗi điểm trên trái đất này được xác định bởi hai điểm dữ liệu - Latitude và Longitude. Có nhiều thuộc tính cho vị trí nhưng hai điểm này là cốt lõi.

2. Khái niệm của nhà cung cấp vị trí

Nhà cung cấp vị trí cung cấp vị trí hiện tại của thiết bị cho các ứng dụng đang chạy trong thiết bị.

Mỗi nhà cung cấp có một bộ tiêu chí mà theo đó nó có thể được sử dụng. Ví dụ, một số nhà cung cấp yêu cầu phần cứng GPS và khả năng hiển thị đối với một số vệ tinh, một số khác đòi hỏi phải sử dụng radio di động, hoặc truy cập vào một mạng lưới của nhà cung cấp cụ thể hoặc với internet. Họ cũng có thể có các đặc điểm tiêu thụ pin khác nhau hoặc chi phí tiền tệ cho người dùng

2.1 Các loại của nhà cung cấp Vị trí

  • Có ba nhà cung cấp Vị trí
  1. Nhà cung cấp GPS : Nhà cung cấp này xác định vị trí sử dụng vệ tinh. Tùy thuộc vào điều kiện, nhà cung cấp dịch vụ này có thể mất chút thời gian để trả lại một bản sửa lỗi vị trí.
  2. Nhà cung cấp Mạng : Nhà cung cấp này xác định vị trí dựa trên các điểm truy cập Wi-Fi. Kết quả được lấy ra bằng cách tra cứu mạng.
  3. Nhà cung cấp Passive : Nhà cung cấp vị trí đặc biệt để nhận vị trí mà không thực sự bắt đầu sửa chữa vị trí. Nhà cung cấp này sẽ trả lại các vị trí được tạo bởi các nhà cung cấp khác

So sánh các nhà cung cấp

Nhà cung cấp - GPS Nhà cung cấp -Network Nhà cung cấp - Passive
Tự cập nhật GPS Hỗ trợ GPS / Wifi Tra cứu CellID / Wifi
Sử dụng chip GPS trên thiết bị Sử dụng chip GPS trên thiết bị cũng như hỗ trợ từ mạng (mạng di động) để cung cấp sửa lỗi ban đầu nhanh Không cần bất kỳ chip GPS nào trên thiết bị để hoạt động
Đường dây của trang web tới vệ tinh Làm việc mà không có bất kỳ đường dây của trang web Làm việc mà không có bất kỳ đường dây của trang web
Đôi khi mất nhiều thời gian để có được một sửa chữa Cung cấp khóa nhanh và chính xác Cung cấp khóa nhanh
Sử dụng pin : Cao Sử dụng pin : Trung bình/ thấp Sử dụng pin : Thấp
Độ chính xác - 20ft Độ chính xác - 200ft Độ chính xác - 5300 ft / 1 dặm

3. Nghiên cứu điển hình

Tình huống - Ví dụ về cách theo dõi việc giao hàng. Giả sử một chiếc xe tải có hàng đi dọc theo con đường phải giao hàng đến các cửa hàng bán lẻ trong thành phố. Lái xe tải đang mang theo một thiết bị di động và một ứng dụng. Đường được cung cấp mang địa chỉ và vị trí của các nhà bán lẻ trên tuyến đường đó và dữ liệu này được cung cấp cho ứng dụng. Ứng dụng nhận vị trí hiện tại từ Nhà cung cấp Vị trí và so sánh vị trí của các nhà bán lẻ với vị trí hiện tại. Nếu khoảng cách giữa vị trí hiện tại và vị trí của nhà bán lẻ nằm trong phạm vi thì nhà bán lẻ đó được đánh dấu là đã truy cập.

Test Case - Người dùng đi trên tuyến đường với ứng dụng này và ứng dụng đánh dấu các địa chỉ bán lẻ trên tuyến đường chính xác.

Cách test

Có hai cách để kiểm tra:

  1. Về mặt vật lý đi trên con đường đó và kiểm tra.
  2. Mô phỏng rằng người dùng đang di chuyển trên tuyến đường đó trong khi đang ở nơi khác.

Bạn có thể làm một kiểm thử rất hạn chế trong khi theo phương pháp tiếp cận số 1 ở trên. Vì vậy, tôi sẽ nói về cách mô phỏng các tình huống khác nhau khi đang ngồi trên bàn làm việc.

Trước khi đi sâu, hãy hiểu khái niệm về định dạng tệp vị trí - KML và GPX.

GPX - Định dạng Giao thức Định tuyến GPS) là một định dạng dữ liệu XML có trọng lượng nhẹ để trao đổi dữ liệu GPS (điểm đường, tuyến đường và đường đi) giữa các ứng dụng và các dịch vụ Web trên Internet.

GPX File Format:

<?xml version="1.0" encoding="UTF-8"?>
 <gpx
 version="1.1"
 creator="Created by Google My Tracks on Android."
 xmlns="http://www.topografix.com/GPX/1/1"
 xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.topografix.com/GPX/Private/TopoGrafix/0/1 http://www.topografix.com/GPX/Private/TopoGrafix/0/1/topografix.xsd">
 <metadata>
 <name><![CDATA[Truck Route]]></name>
 <desc><![CDATA[]]></desc>
 </metadata>
 <trk>
 <name><![CDATA[Truck Route]]></name>
 <desc><![CDATA[]]></desc>
 <type><![CDATA[]]></type>
 <extensions><topografix:color>c0c0c0</topografix:color></extensions>
 <trkseg>
 <trkpt lat="28.581475" lon="77.314435">
 <ele>137.5</ele>
 <time>2013-04-03T14:37:10.000Z</time>
 </trkpt>
 <trkpt lat="28.581517" lon="77.314399">
 <ele>137.5</ele>
 <time>2013-04-03T14:37:11.000Z</time>
 </trkpt>
 </trkseg>
 </trk>
 </gpx>

KML là định dạng tệp được sử dụng để hiển thị dữ liệu địa lý trong trình duyệt Trái đất như Google Earth, Google Maps và Google Maps dành cho điện thoại di động. KML sử dụng cấu trúc dựa trên thẻ có các phần tử và thuộc tính lồng nhau và dựa trên tiêu chuẩn XML

KML File Format:

<?xml version="1.0" encoding="ASCII"?>
 <kml xmlns="http://earth.google.com/kml/2.2">
 <Document>
 <name>GE2ADT</name>
 <Placemark><name>21</name><description>GE2ADT Route</description><Point><coordinates>-74.61453,40.47307,0</coordinates></Point></Placemark>
 <Placemark><name>22</name><description>GE2ADT Route</description><Point><coordinates>-74.614564,40.472985,0</coordinates></Point></Placemark>
 <Placemark><name>23</name><description>GE2ADT Route</description><Point><coordinates>-74.614661,40.472743,0</coordinates></Point></Placemark>
 <Placemark><name>24</name><description>GE2ADT Route</description><Point><coordinates>-74.614784,40.472387,0</coordinates></Point></Placemark>
 <Placemark><name>25</name><description>GE2ADT Route</description><Point><coordinates>-74.615058,40.471677,0</coordinates></Point></Placemark>
 <Placemark><name>26</name><description>GE2ADT Route</description><Point><coordinates>-74.615168,40.471369,0</coordinates></Point></Placemark>
 <Placemark><name>27</name><description>GE2ADT Route</description><Point><coordinates>-74.615289,40.471028,0</coordinates></Point></Placemark>
 </Document>
 </kml>

Làm thế nào để tạo ra những tập tin này?

Có ít công cụ có sẵn để tạo tệp GPX / KML. Xem Mục (Công cụ) để biết thêm chi tiết.

Các bước kiểm thử (Trong Android)

  1. Tạo tập tin - Trước tiên tạo ra tệp KML / GPX của tuyến đường như mô tả ở trên.

  2. Chạy file được tạo ra trong Emulator - KML / GPX File sẽ được chạy bên trong Emulator Control của giao diện DDMS của Eclipse (với ADT Plugin). Dưới đây là các bước về cách phát tệp KML hoặc GPX trong Emulator.

Bước 1 –> Mở Eclipse

Bước 2 -> Tạo ứng dụng sẽ nghe cập nhật vị trí từ nhà cung cấp Vị trí. Mở / Tạo project

Bước 3 –> Tạo AVD / Emulator.

Bước 4 -> Chạy ứng dụng trong Emulator Android.

Bước 5 -> Mở Google Map In Emulator

Bước 6 -> Trong DDMS, chọn Emulator Control

Bước 7 -> Để tải tệp GPX, hãy chọn ứng dụng và sau đó nhấp vào "Load GPX ..."

Bước 8 -> Sau khi tải GPX File trong Location Control, bạn sẽ thấy tên GPX File.

Bước 9 -> Để chạy tệp GPX, chọn tệp GPX và nhấp vào nút Play ở cuối.

Bạn sẽ thấy một điểm di chuyển trên bản đồ.

Tương tự, bạn có thể tải tệp KML.

Ghi chú: - DDMS chỉ hỗ trợ GPX 1.1

3. Kiểm tra dữ liệu trong ứng dụng nếu tuyến đường được đánh dấu chính xác

Xem kết quả của kiểm thử trong ứng dụng của bạn.

Các bước kiểm thử (Trên iOS):

1. Tạo tệp tin - Có định dạng tệp GPX khác nhau sẽ được chạy trên trình mô phỏng iOS. Để biết chi tiết, hãy làm theo công cụ 'RunKeeper' dưới đây và tạo tệp GPX của tuyến đường.

2. Chạy file được tạo ra trong Simulator - Mở dự án xCode, bạn có thể chọn Product -> Debug -> Simulate Location->Add GPX file từ thanh trình đơn để thêm tệp GPX vào dự án.

Nó sẽ yêu cầu chọn / thêm tập tin GPX.

Sau khi thêm tệp GPX, bạn có thể chọn biểu tượng Vị trí trong xCode và nhấp vào tên tệp GPX .

Bạn sẽ thấy một điểm di chuyển trên bản đồ

4. Công cụ để kiểm tra vị trí

1. My Tracks

Đây là ứng dụng Android hữu ích cho việc tạo tệp KML, GPX. My Tracks ghi lại đường đi, tốc độ, khoảng cách và độ cao trong khi bạn đi bộ, chạy bộ, đi xe đạp hoặc làm bất cứ điều gì ngoài trời. Có thể tải My Tracks từ Google Play. URL –

Cách sử dụng - Ai đó có thể ghi lại đường đi bằng cách di chuyển thực sự trên tuyến đường đó và tạo ra File cho nhóm kiểm thử.

2. KML Generator

Đây là trang web tạo tệp KML sử dụng tọa độ GPS. Chúng ta chỉ cần đặt vĩ độ và kinh độ theo cột tọa độ GPS và kết xuất dưới dạng KML (download). Bạn có thể vào trang web này thông qua url này -v

Cách sử dụng - Nếu biết Tọa độ (Latitude and Longitude)) của các điểm trên đường, có thể tạo tệp KML.

3. Google Earth to ADT plugin

Ứng dụng này giúp chuyển đổi tệp KML sang một định dạng KML khác mà các công cụ phát triển Android (Thích hợp cho trình cắm Android ADT của Eclipse) có thể hiểu được. Đây là liên kết đến url -

Ứng dụng này giúp tạo ra tệp kml để tạo đường dẫn hoặc đánh dấu vị trí trong google earth hoặc chuyển đổi các tuyến đường của Google Earth sang định dạng phù hợp với plugin Android Eclipse Android ADT 0.8.0.

4. Google Earth

Bạn có thể trực quan nhìn thấy đường dẫn / tuyến đường trên Google Earth.

Ví dụ có thể có tệp KML lộ trình giao hàng và tệp KML thực tế đã được phát và xem các điểm trên Google Earth.

5. RunKeeper

Ứng dụng này tạo tệp GPX sẽ được chạy trên trình giả lập iOS. Thực hiện theo các bước dưới đây để tạo tệp GPX.

Cách sử dụng - Ai đó có thể ghi lại đường đi bằng cách di chuyển thực sự trên tuyến đường và tạo ra file cho nhóm kiểm thử.

  1. Tải ứng dụng 'RunKeeper' từ app store và chạy nó.

  1. Sau khi đăng ký ứng dụng, bạn có thể bắt đầu chụp bản ghi GPS. Nhấn 'Start Activity' .

  1. Sau khi bạn ghi lại dữ liệu GPS, nhấn nút 'STOP', và sau đó nhấn 'Yes I'm done'

  1. Nhấn 'Save' để chuyển dữ liệu GPS tới trang RunKeeper.

  1. Đăng nhập vào trang RunKeeper với tài khoản bạn đã đăng ký từ bước 2 Sau đó nhấp vào 'Activities'

  1. Cuộn xuống, và sau đó bạn có thể tìm thấy tùy chọn 'Export GPX'. Nhấp chuột vào nó, để bạn có thể tải tập tin GPX từ trang web

Sau khi tải tệp GPX, định dạng tệp GPX sẽ như sau.

<?xml version="1.0" encoding="UTF-8"?>
 <gpx
 version="1.1"
 creator="RunKeeper - http://www.runkeeper.com"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.topografix.com/GPX/1/1"
 xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
 xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1">
 <trk>
 <name><![CDATA[Running 8/23/13 1:44 pm]]></name>
 <time>2013-08-23T13:44:05Z</time>
 <trkseg>
 <trkpt lat="28.581355000" lon="77.319664000"><ele>207.0</ele><time>2013-08-23T13:44:05Z</time></trkpt>
 <trkpt lat="28.581355000" lon="77.319664000"><ele>207.0</ele><time>2013-08-23T13:44:06Z</time></trkpt>
 </trkseg>
 </trk>
 </gpx>

Định dạng GPX này không thể phát trên trình giả lập iOS. Chúng ta phải làm một số sửa đổi để nó có thể được chạy trên giả lập iOS. Xóa tất cả các <trk> và <trkseg> khỏi các tệp tin (Tìm và xóa nó). Nhấn ALT + Command + F, và thay thẻ 'trkpt' thành 'wpt'.

Định dạng tệp GPX - có thể chạy được trong trình mô phỏng iOS:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;gpx
version="1.1"
creator="RunKeeper - http://www.runkeeper.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/1"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"&gt;
&lt;name&gt;&lt;![CDATA[Running 8/23/13 1:44 pm]]&gt;&lt;/name&gt;
&lt;time&gt;2013-08-23T13:44:05Z&lt;/time&gt;
&lt;wpt lat="28.581355000" lon="77.319664000"&gt;&lt;ele&gt;207.0&lt;/ele&gt;&lt;time&gt;2013-08-23T13:44:05Z&lt;/time&gt;&lt;/wpt&gt;
&lt;wpt lat="28.581355000" lon="77.319664000"&gt;&lt;ele&gt;207.0&lt;/ele&gt;&lt;time&gt;2013-08-23T13:44:06Z&lt;/time&gt;&lt;/wpt&gt;
&lt;/gpx&gt;

Kết luận

Ngoài ra còn co một ứng dụng rất hữu ích để kiểmh tử vị trí trên Android đó là ứng dụng Mocklocation . Tôi hy vọng bài viết trên sẽ giúp các bạn có thêm thông ti để kiểm thử vị trí . Nguồn tham khảo: http://blogs.innovationm.com/location-testing-in-mobile-apps/