You are on page 1of 6

Unit 10 Phần 4: Nguyễn Doãn Minh CT060424

Development + Stabilization

Development (paragraph 4)
The development phase usually starts very early. In fact, once an idea has some maturation in the
conceptual/inspiration phase, often a working prototype is developed that validates functionality,
assumptions, and helps to give an understanding of the scope of the work.
Stabilization (paragraph 5)
Stabilization is the process of working out the bugs in your app. Not just from a functional standpoint,
e.g.: "It crashes when I click this button,” but also Usability and Performance. It’s best to start
stabilization very early within the development process so that course corrections can occur before they
become costly. Typically, applications go into Prototype, Alpha,Beta, and Release Candidate stages.
Different people define these differently, but they generally follow the following pattern:

Development (paragraph 4)
Giai đoạn phát triển thường bắt đầu rất sớm. Trên thực tế, một khi một ý tưởng đã được có một vài sự
phát triển từ trong giai đoạn khái niệm/ cảm hứng, thường một bản prototype hoạt động được phát triển
để xác nhận chức năng, giả định và giúp hiểu rõ phạm vi công việc.
Stabilization (đoạn văn 5)
Stabilization (ổn định) là quá trình sửa các lỗi trong ứng dụng của bạn. Không chỉ từ mặt chức năng, ví
dụ: "Nó bị crash khi tôi nhấp vào nút này,” mà còn từ mặt Sử dụng và Hiệu suất. Tốt nhất là bắt đầu giai
đoạn ổn định rất sớm trong quá trình phát triển để có thể điều chỉnh hướng đi trước khi chúng trở nên
tốn kém. Thông thường, ứng dụng đi qua các giai đoạn Prototype, Alpha, Beta, và Release Candidate.
Người ta định nghĩa các giai đoạn này theo nhiều cách khác nhau, nhưng chúng thường tuân theo mẫu
sau:

1. Prototype – The app is still in proof-of-concept phase and only core functionality, or specific parts of
the application are working. Major bugs are present.
2. Alpha – Core functionality is generally code-complete (built, but not fully tested). Major bugs are still
present, outlying functionality may still not be present.
3. Beta – Most functionality is now complete and has had at least light testing and bug fixing. Major
known issues may still be present.
4. Release Candidate – All functionality is complete and tested. Barring new bugs, the app is a candidate
for release to the wild. It’s never too early to begin testing an application. For example, if a major issue is
found in the prototype stage, the UX of the app can still be modified to accommodate it. If a performance
issue is found in the alpha stage, it’s early enough to modify the architecture before a lot of code has been
built on top of false assumptions.
1. Prototype - Ứng dụng vẫn ở trong giai đoạn chứng minh khái niệm và chỉ có chức năng cốt
lõi hoặc các phần cụ thể của ứng dụng đang hoạt động. Có các lỗi lớn xuất hiện.
2. Alpha - Chức năng cốt lõi thường đã được hoàn thành mã nguồn (đã xây dựng, nhưng chưa
được kiểm tra hoàn toàn). Có các lỗi lớn vẫn xuất hiện, chức năng ngoài lề có thể vẫn chưa
hoàn chỉnh.
3. Beta - Hầu hết các chức năng hiện đã hoàn chỉnh và đã được kiểm tra và sửa lỗi ít nhất một
lần. Có thể vẫn có các vấn đề lớn đã được biết đến.
4. Release Candidate - Tất cả các chức năng đã hoàn chỉnh và đã được kiểm tra. Nếu không có
lỗi mới xuất hiện, ứng dụng là ứng cử viên để phát hành ra thị trường. Không bao giờ là quá
sớm để bắt đầu kiểm tra một ứng dụng. Ví dụ, nếu một vấn đề lớn được phát hiện trong giai
đoạn prototype, giao diện người dùng của ứng dụng vẫn có thể được điều chỉnh để thích ứng.
Nếu một vấn đề hiệu suất được phát hiện trong giai đoạn alpha, đó là đủ sớm để điều chỉnh kiến
trúc trước khi có quá nhiều mã đã được xây dựng dựa trên các giả định sai lầm.

Typically, as an application moves further along in the lifecycle, it’s opened to more people to try it out,
test it, provide feedback, etc. For instance, prototype applications may only be shown or made available
to key stakeholders, whereas release candidate applications may be distributed to customers that sign up
for early access.
For early testing and deployment to relatively few devices, usually deploying straight from a development
machine is sufficient. However, as the audience widens, this can quickly become cumbersome. As such,
there are a number of test deployment options out there that make this process much easier by allowing
you to invite people to a testing pool, release builds over the web, and provide tools that allow for user
feedback.
Some of the most popular ones are:
1. Testflight – This is an iOS product that allows you to distribute apps for testing as well as receive crash
reports and usage information from your customers. This is included as part of iTunes connect, and is not
available if you are part of an Apple Developer Enterprise membership.
2. LaunchPad (launchpadapp.com) – Designed for Android, this service is very similar to TestFlight.
3. Vessel (vessel.io) – A service for iOS and Android that lets you monitor usage, track customers and
even do A/B testing from inside your app. 4. hockeyapp.com - Provides a testing service for iOS, Android
and Windows Phone

Thường thì, khi một ứng dụng tiến xa hơn trong vòng đời của nó, nó được mở ra cho nhiều người hơn để
thử nghiệm, kiểm tra, đưa ra phản hồi, v.v. Ví dụ, các ứng dụng prototype có thể chỉ được hiển thị hoặc
có sẵn cho các bên liên quan chính, trong khi các ứng dụng release candidate có thể được phân phối cho
các khách hàng đăng ký truy cập sớm.
Đối với việc kiểm thử sớm và triển khai trên một số lượng thiết bị tương đối ít, thông thường triển khai
trực tiếp từ máy phát triển là đủ. Tuy nhiên, khi đối tượng mở rộng, điều này có thể trở nên rối rắm
nhanh chóng. Do đó, có một số lựa chọn triển khai kiểm thử giúp quá trình này trở nên dễ dàng hơn bằng
cách cho phép bạn mời người dùng tham gia vào một nhóm kiểm thử, phát hành các phiên bản qua web
và cung cấp các công cụ cho phản hồi của người dùng.
Một số lựa chọn phổ biến nhất là:
1. TestFlight - Đây là một sản phẩm dành cho iOS cho phép bạn phân phối ứng dụng để kiểm thử cũng
như nhận báo cáo về sự cố và thông tin về việc sử dụng từ khách hàng của bạn. Điều này được bao gồm
như một phần của iTunes connect và không có sẵn nếu bạn là thành viên của Apple Developer
Enterprise.
2. LaunchPad (launchpadapp.com) - Thiết kế cho Android, dịch vụ này rất giống với TestFlight.
3. Vessel (vessel.io) - Một dịch vụ cho iOS và Android cho phép bạn giám sát việc sử dụng, theo dõi
khách hàng và thậm chí thực hiện kiểm tra A/B từ bên trong ứng dụng của bạn.
4. hockeyapp.com - Cung cấp dịch vụ kiểm thử cho iOS, Android và Windows Phone.

*TÓM TẮT PHẦN 4 READING 1:

Phần Phát triển (Development): giai đoạn phát triển thường bắt đầu sớm, thuognwf từ giai đoạn khái
niệm và cảm hứng ; xác nhận chức năng, giả định và giúp hiểu rõ phạm vi công việc.

Phần Ổn định (Stabilization) : là quá trình sửa các lỗi trong ứng dụng của bạn, cải thiện cả Usability
and Performance; Thông thường, ứng dụng đi qua các giai đoạn Prototype, Alpha, Beta, và Release
Candidate ;
Đối với việc kiểm thử sớm và triển khai trên một số lượng thiết bị tương đối ít, thông thường triển khai
trực tiếp từ máy phát triển là đủ; cho phép nhiều người dùng tham gia kiểm thử, một số nền tảng để thực
hiện kiểm thử là : TestFlight, LaunchPad (launchpadapp.com), Vessel (vessel.io), hockeyapp.com

Hình ảnh về Kiểm Thử


*Câu hỏi : 9. What do you do in the Stabilization phase?
Nhiều bước cần làm trong Stabilization phase ví dụ như : Functional Testing, Usability Testing,
Performance Testing, Bug Fixing, Optimization, Regression Testing, Documentation (kiểm thử chức
năng, kiểm thử sử dụng, kiểm thử hiệu suất, tối ưu hóa, kiểm thử hồi quy, tài liệu hóa) nói chung là
xử lý bug (Bug Fixing, testing)
Windows Phone Considerations
Multitasking
Multitasking in Windows Phone also has two parts: the lifecycle for pages and applications, and
background processes. Each screen in an application is an instance of a Page class, which has events
associated with being made 190 active or inactive (with special rules for handling the inactive state, or
being "tombstoned”). For more information see the Execution Model Overview for Windows Phone
documentation.
The second part is providing background agents for processing tasks even when the application is not
running in the foreground. More information on scheduling periodic tasks or creating resource intensive
background tasks can be found in the Background Agents Overview

Multitasking (đa nhiệm) trên Windows Phone cũng có hai phần: vòng đời cho các trang và ứng dụng, và
các tiến trình nền. Mỗi màn hình trong một ứng dụng là một trường hợp của một lớp Trang (Page), có
các sự kiện liên kết với việc trở thành hoạt động hoặc không hoạt động (với các quy tắc đặc biệt để xử lý
trạng thái không hoạt động, hoặc được "tombstoned"). Để biết thêm thông tin, xem Tổng quan về Mô
hình Thực thi cho tài liệu Windows Phone.
Phần thứ hai là cung cấp các đại lý nền để xử lý các nhiệm vụ ngay cả khi ứng dụng không chạy ở chế độ
chính. Thông tin chi tiết về lập lịch cho các nhiệm vụ định kỳ hoặc tạo các nhiệm vụ nền tài nguyên có thể
được tìm thấy trong Tổng quan về Tác nhân nền.

*TÓM TẮT PHẦN 4 READING 2: trình bày về đa nhiệm trên thiết bị Windows Phone. Có 2 loại là :
- Lifecycle management for pages and applications
- Background processes
*Câu hỏi : 7.How many parts does Multitasking in Windows Phone have? What are they?
Lifecycle management for pages and applications: Each screen in an application is an instance of a
Page class, which has events associated with being made active or inactive. Special rules apply for
handling the inactive state, including being "tombstoned".
Background processes: This involves providing background agents for processing tasks even when the
application is not running in the foreground. This includes scheduling periodic tasks or creating
resource-intensive background tasks.

You might also like