Đào tạo Tester chuyên nghiệp

Đã và đang đào tạo hàng trăm học viên. Có việc và đã đi làm

Nghề phù hợp với cả nam và nữ

Chúng tôi đều tìm thấy mảnh đất riêng cho mình phát triển.

Chúng mang lại cho chúng tôi niềm vui

Một công việc nhẹ nhàng không có những áp lục nặng nề.

Showing posts with label Tin tức. Show all posts
Showing posts with label Tin tức. Show all posts

Monday, July 30, 2018

Netflix và Google phát hành tool canary Open source Kayenta

Một công cụ Open source cho việc giám sát open beta tự động đã được Netflix và Google giới thiệu để giúp các đơn vị khác hiện đại hóa thực tiễn của họ.

netflix-va-google-ra-mat-cong-cu-ma-nguon-mo-kayenta

Kayenta là một hình thức của tool "Canary analysis" nhằm mục đích phát hiện các vấn đề trước khi chúng trở thành một vấn đề nghiêm trọng. Thực tế thú vị: Các thợ mỏ than đã từng có những con canary trong lồng xuống hố vì chúng đặc biệt nhạy cảm với khí nguy hiểm - nếu một con chim hoàng yến chết, các thợ mỏ biết để thoát ra thật sự nhanh.

Netflix đầu tiên khởi đầu tiến triển trên Kayenta để sử dụng nội bộ nhưng quyết định muốn phát hành nó cho một lượng khán giả rộng lớn hơn. Phần lớn mã được dành riêng cho Netflix, vì thế tổ chức đã gia nhập sự giúp đỡ của Google để viết lại các phần của nó và biến nó thành mô-đun. Các đội đã dành khoảng một năm để thực hiện nỗ lực này.

Greg Burrell, Kỹ sư tin cậy cao cấp tại Netflix, cho biết:

"Quan hệ đối tác của chúng tôi với Google trên Kayenta đã mang lại một kiến ​​trúc linh hoạt giúp thực hiện canary analysis tự động trên một loạt các kịch bản triển khai như app. , cấu hình và thay đổi dữ liệu.

Đến cuối năm, chúng tôi hy vọng Kayenta sẽ đưa ra hàng nghìn phán đoán canary mỗi ngày. Spinnaker và Kayenta là các công cụ nhanh, đáng tin cậy và dễ sử dụng giúp giảm thiểu rủi ro triển khai trong khi cho phép vận tốc cao ở quy mô lớn. "

Kết quả là một tool linh hoạt sẽ giúp các doanh nghiệp thuộc mọi quy mô cải thiện open beta của họ. Các công ty lớn có ngân sách và chuyên môn để xây dựng một giải pháp riêng biệt cho nhu cầu của họ, nhưng điều này vẫn mất rất nhiều thời gian.

Tom Feiner, Kỹ sư vận hành hệ thống tại Waze, nhận xét:

“Canary Analysis cùng với các đường ống triển khai Spinnaker cho phép chúng tôi tự động xác định các triển khai xấu. Với hơn 1000 đường ống chạy trong sản xuất, bất kỳ hình thức can thiệp nào của con người như là 1 phần của phân tích canary có thể là một cản trở lớn cho các nỗ lực giao hàng liên tục của chúng tôi.

Tự động triển khai canary, như được active bởi Kayenta, đã cho phép nhóm của chúng tôi tăng tốc độ phát triển bằng cách phát hiện các dị thường nhanh hơn. Ngoài ra, là open soure, tiêu chuẩn hóa Kayenta sẽ giúp giảm nguy cơ bị khóa nhà cung cấp. ”

>> Học kiểm thử phần mềm thủ công

>> Học kiểm thử phần mềm tự động

Trong thế giới ngày nay, các đơn vị biết rằng họ cần phải di chuyển nhanh. Khởi động thường hoạt động tốt hơn ở đây vì chúng nhanh nhẹn hơn. Các luyện tập phát triển phần mềm liên tục phá vỡ các dự án lớn hơn thành các phần nhỏ hơn để các hướng có thể được thay đổi nhanh hơn nếu cần thiết, nhưng các triển khai thường có thể được đổ xô và đối mặt với các vấn đề.

Kayenta, giống như các tool analytic khác, sẽ chạy kiểm tra để rất nhanh đảm bảo không gặp vấn đề gì khi nâng cấp được open beta đầy đủ. Hệ thống này là khách quan và miễn dịch đối với bất kỳ lỗi nào của con người và thiên vị khả năng tiềm ẩn liên quan đến việc kiểm tra canary thủ công.

Sử dụng OTT: Cách đảm bảo chất lượng và làm hài lòng khách hàng

“Over-the-top”, hay OTT, là thuật ngữ gợi cảm nhất trong giải trí ngay bây giờ. Chúng tôi đang trên đỉnh về sự đổi thay đáng kể trong một thế giới không thay đổi nhiều trong 50 năm qua - và OTT là trung tâm của việc sáp nhập không thể tránh khỏi và không thể ngăn cản giữa thế giới của truyền hình và video kỹ thuật số.



Đối với các Developer ứng dụng, cũng như các công ty giải trí cung cấp phim và chương trình truyền hình theo yêu cầu, cơ hội OTT là rộng lớn. Các nền tảng như Fire TV không chỉ cho phép phát trực tuyến mà còn mở màn hình mới để thu hút người chơi trong phòng khách của riêng họ trải nghiệm các ứng dụng có thể tải xuống.

Và không chỉ ở nhà mà người chơi có thể hưởng lợi từ các app OTT. khuynh hướng này cũng mở rộng sang các doanh nghiệp bằng cách cho phép họ giao tiếp với nhau với chi phí tối thiểu (hoặc bằng không). Sự phát triển mạnh mẽ của các app OTT như Skype, FaceTime và WhatsApp, đã đổi thay bộ mặt hợp tác kinh doanh, và cơ hội để xây dựng app doanh nghiệp ngày càng đa dạng và đa dạng.

Vậy làm thế nào để các lập trình viên ứng dụng tận dụng cơ hội này? Và làm thế nào họ có thể tiến triển cho một nền tảng mới trong khi vẫn cung cấp dịch vụ ở tốc độ và chất lượng người tiêu dùng mong đợi?

[h2]Khắc phục những thử thách của OTT[/h2]


Ngoài sự cường điệu, có rất nhiều thử thách thiết thực khi tiến triển cửa hàng ứng dụng của Amazon và phân phối trải qua Amazon Fire TV - và giống như bất kỳ khuynh hướng chính nào khác, đó là điều mà các nhà phát triển cần phải chuẩn bị.

Thứ nhất, Developer phải phân phối ứng dụng hoạt động tốt trên màn hình mới. Trong thế giới này, việc luyện tập ‘forking’ rất quan trọng. Trong thuật ngữ đơn giản, forking đề cập đến việc vay mã từ một dự án được sử dụng để tạo ra một project hoặc biến thể mới. Nền tảng Fire TV của Amazon là phiên bản phân chia của hệ điều hành Android. Các nhà phát triển phải tìm hiểu sự khác biệt của ngã ba và khai thác chúng để mang lại thông qua khách hàng tốt.

Trong thực tế, nếu bạn có thể viết cho Android, bạn có thể viết cho Fire TV - nhưng tất nhiên, đây không phải là nơi thách thức kết thúc. Vấn đề căn bản hơn có lẽ là giúp người dùng quen với việc tiêu thụ nhiều ứng dụng khác nhau trên TV của họ. dù là phát trực tuyến phim và chương trình truyền hình là bản chất thứ hai, các ứng dụng khác, như mua sắm hoặc duyệt Internet, chưa trực quan. Chúng tôi thấy một số 'xung quanh công việc' ở đây - chẳng hạn như tính năng support giọng nói hoặc phát triển cho các điều khiển từ xa, có thể giúp cải thiện điều hướng và bảo đảm trải qua liền mạch. Thật vậy, để người chơi không chỉ trung thành với các nền tảng mà còn mở rộng cách họ sử dụng chúng, và tiêu thụ các dịch vụ và app mới, chất lượng phải là một khẩu hiệu căn bản cho các nhà phát triển.

Đối với DevOps, điều trọng điểm là phải có cơ sở hạ tầng thích hợp để hỗ trợ một nhóm chịu trách nhiệm phân phối các app và dịch vụ có nhu cầu cao về tính sẵn có và độ tin cậy. Như với sự phát triển của bất kỳ app, một hoạt động trơn tru, đội ngũ nhanh nhẹn với trách nhiệm rõ ràng và vai trò là rất quan trọng. Các hoạt động tiến triển nhanh nhẹn sẽ giành chiến thắng trong ngày cho các nền tảng OTT chạy nền tảng di động.

[h2]Kiểm tra ưu tiên bảo đảm chất lượng[/h2]


check toàn diện là chìa khóa để đảm bảo chất lượng. Tuy nhiên, việc Kiểm tra trình duyệt chéo trên nền tảng máy tính để bàn và di động đã trở nên vấn đề lớn hơn và một màn hình khác show mức độ phức tạp cao hơn. Như với bất kỳ sự tiến triển nào của ilk này, các thử nghiệm mới (thủ công và tự động) cần được phát triển, thực hiện và thích hợp với đường ống tổng thể. Và với các app được phân phối trải qua nền tảng OTT, thách thức chính là thay đổi trực quan được điều khiển bởi yếu tố hình thức - màn hình TV gia đình đổi thay từ 32 inch đến 90 inch và ứng dụng phải trông liền mạch trên tất cả những điều này.

Thử nghiệm tự động phải được tối ưu hóa cho thế giới thực bằng cách xác định hồ sơ điều kiện người dùng và bằng cách bật thử nghiệm trên các tình huống phổ biến như điều kiện mạng bị suy thoái, bộ nhớ bị hạn chế và giải quyết công bố và cửa sổ bật lên. người chơi của chúng tôi cho chúng tôi biết rằng thử nghiệm điều kiện người chơi với Đường hầm gió và xác thực hình ảnh của chúng tôi bao gồm đo đáp ứng là 1 phần quan trọng trong việc thử nghiệm môi trường mới như Fire TV. Và tất nhiên, kiểm thử phần mềm hệ điều hành xác định phạm vi Kiểm tra để chạy phần mềm hệ điều hành Android khác nhau.

>> Học kiểm thử phần mềm thủ công

>> Học kiểm thử phần mềm tự động

vì thế, với những cách mới để tiếp cận người tiêu dùng và đảm bảo khả năng tiếp cận nhiều hơn cho các ứng dụng, việc phát triển cho các nền tảng OTT như Amazon Fire là không có trí tuệ. Amazon đã thực hiện điều này một cách dễ dàng cho các Developer bằng cách giúp họ tiếp cận người tiêu dùng trên nền tảng mà họ đã biết, trên Android - và các cơ hội được mở rộng.

Nền tảng OTT đang xác định lại cách thức mà người tiêu dùng có thể tương tác với màn hình TV của họ và các nhà phát triển quan trọng đang đi trước đường cong - có thể cung cấp dịch vụ ở tốc độ, đồng thời đảm bảo chất lượng. Chỉ sau đó người tiêu dùng sẽ thực hiện đột phá để sử dụng các ứng dụng trên một màn hình khác và các lập trình viên sẽ có thể tận dụng toàn bộ cơ hội mới này

Thursday, June 7, 2018

SQL trở lại quyết đấu NoSQL và tương lai của dữ liệu

SQL đã trở lại sau nhiều năm bị bỏ mặc. Thế quái nào? Và ảnh hưởng của việc này đến cộng đồng data?

Từ những ngày đầu của kỷ nguyên máy tính, chúng ta đã từng thu thập một lượng dữ liệu ngày càng lớn, liên tiếp đòi hỏi nhiều hơn về năng lực của công nghệ xử lý, phân tích và lưu trữ dữ liệu.
Trong thập kỷ qua, căn do này khiến cho các developer bỏ qua SQL để hướng tới một thứ có các đặc tính có thể mở mang được là NoSQL: MapReduce và Bigtable, Cassandra, MongoDB…

Tuy nhiên, SQL đang dần trở lại. quờ quạng các nhà cung cấp dịch vụ cloud lớn hiện đều offer database dạng này như Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL (Azure chỉ vừa mới launch trong năm nay). Theo cách riêng của Amazon, Aurora database (compatible với MySQL-PostgreSQL) trở thành dịch vụ có tốc độ tăng trưởng nhanh nhất lịch sử AWS.
SQL interface bên trên lớp Hadoop/Spark tiếp kiến phát triển. Và chỉ mới tháng trước, Kafka đã hỗ trợ SQL.

Trong bài viết này, chúng tôi sẽ rà soát tại sao tình thế lại xoay chuyển trở lại với SQL, và ý nghĩa của việc này đối với giới data engineering và analysis
Phần 1: Một niềm hy vọng mới


Để hiểu vì sao SQL trở lại, hãy bắt đầu ở khởi điểm với lý do tại sao nó được thiết kế
Câu chuyện bắt đầu tại IBM Research trong thời kỳ đầu của thập niên 70, nơi mà cơ sở dữ liệu quan hệ ra đời. Vào thời điểm đó, ngôn ngữ truy nã dựa vào logic toán học và ký hiệu. Hai tấn sĩ Donald Chamberlin và Raymond Boyce đã bị ấn tượng bởi mô hình dữ liệu quan hệ, nhưng cũng thấy rằng ngôn ngữ truy sẽ là một nút thắt ngăn cản việc áp dụng nó.
Họ đã thiết kế một tiếng nói truy mới (theo cách của họ): “dễ tiếp cận hơn cho người học lập trình web mà không cần được đào tạo chính quy về toán học hoặc lập trình máy tính.”
Trước thời kỳ của Internet và máy tính cá nhân chủ nghĩa, khi mà tiếng nói lập trình C được giới thiệu với thế giới, hai nhà khoa học máy tính trẻ nhận ra rằng, “phần lớn sự thành công của ngành công nghiệp máy tính phụ thuộc vào việc phát triển một nhóm người dùng phổ biến khác, ngoài việc đào tạo các chuyên gia máy tính”.

Họ muốn một tiếng nói truy nã dễ hiểu như tiếng Anh, và cũng bao gồm hệ quản trị cơ sở dữ liệu và thao tác.
Kết quả là SQL, lần trước tiên được giới thiệu với thế giới vào năm 1974. Trong vài thập kỷ sau đó, SQL đã chứng minh được sự phổ quát rộng rãi. Khi các cơ sở dữ liệu quan hệ như System R, Ingres, DB2, Oracle, SQL Server, PostgreSQL, MySQL (và nhiều hơn nữa) đã tiếp quản ngành công nghiệp phần mềm, SQL đã trở thành tiếng nói ưu việt để tương tác đến cơ sở dữ liệu với cộng đồng đông đảo và hệ sinh thái cạnh tranh.
(Đáng buồn, Raymond Boyce chưa bao giờ có nhịp chứng kiến sự thành công của SQL và chết vì chứng phình mạch não 1 tháng sau khi đưa ra một trong những bài thuyết trình SQL sớm nhất, chỉ 26 tuổi, để lại vợ và con gái).
Trong một giai đoạn, tuồng như SQL đã hoàn thành thành công sứ mệnh của nó. Nhưng sau đó Internet ra đời.

Phần 2: NoSQL kháng cự

Trong khi Chamberlin và Boyce đang tụ hội phát triển SQL, họ không nhận ra là nhóm kỹ sư thứ hai ở California khi ấy đang làm việc cho một dự án khác mà sau đó nó lan rộng và đe doạ sự tồn tại của SQL. Dự án đó là ARPANET, và vào ngày 29 tháng 10 năm 1969, nó đã ra đời.
Nhưng SQL đã đích thực tốt cho đến khi một kỹ sư khác xuất hiện và phát minh ra World Wide Web, vào năm 1989.
Giống như một loại cỏ dại, Internet và Web đã phát triển mạnh mẽ, phá vỡ thế giới của chúng ta bằng nhiều cách, nhưng đối với cộng đồng dữ liệu, nó gây ra một vấn đề nhức đầu: nhiều nguồn tạo ra dữ liệu mới với khối lượng và vận tốc cao hơn trước.
Khi Internet tiếp phát triển và phát triển, cộng đồng phần mềm đã phát hiện ra rằng cơ sở dữ liệu quan hệ lúc đó không thể xử lý nổi. Có một sự hỗn loạn, kiểu như hàng triệu database đột nhiên kêu khóc và bị quá tải.

Sau đó, hai gã khổng lồ mới của Internet đã đột phá và phát triển các hệ thống non-relational phân tán của riêng họ để giúp giải quyết vấn đề này: MapReduce (xuất bản năm 2004) và Bigtable (xuất bản 2006) của Google và Dynamo (xuất bản năm 2007) của Amazon.

Các tài liệu này đã dẫn tới nhiều cơ sở dữ liệu non-relational khác, bao gồm Hadoop (dựa trên MapReduce paper, 2006), Cassandra (lấy cảm hứng từ cả hai bài báo Bigtable và Dynamo, 2008) và MongoDB (2009). vì chưng đây là những hệ thống mới được viết từ đầu, họ cũng tránh SQL, dẫn đến sự gia tăng của phong trào NoSQL.

Thật dễ hiểu tại sao: NoSQL mới và sáng bóng; hứa về scale và power; nó hình như là con đường nhanh chóng để thành công về kỹ thuật. Nhưng rồi những vấn đề bắt đầu xuất hiện.
Các nhà phát triển sớm nhận ra rằng không có SQL thực thụ là khá hạn chế. Mỗi cơ sở dữ liệu NoSQL cung cấp tiếng nói tầm nã độc nhất của riêng mình, có tức thị nhiều tiếng nói hơn để học (và dạy cho đồng nghiệp của bạn); gia tăng sự khó khăn trong việc kết nối các cơ sở dữ liệu này với các áp dụng, dẫn đến dính theo hàng tấn code; thiếu hệ sinh thái của bên thứ ba, đòi hỏi các công ty phải phát triển các công cụ vận hành và biểu diễn dữ liệu riêng.
Những ngôn ngữ NoSQL mới cũng không được phát triển đầy đủ. ví dụ, để thêm tính năng JOIN của SQL vào NoSQL rất phức tạp ở tầng application. Sự thiếu JOINs cũng dẫn đến sự không thường ngày, dẫn đến sự sụp đổ và vẹn tuyền của dữ liệu.
Một số cơ sở dữ liệu NoSQL đã thêm các ngôn ngữ tróc nã “giống SQL”, như CQL của Cassandra. Nhưng điều này thường gây ra vấn đề tệ nạn hơn. dùng một giao diện gần giống với một cái gì đó phổ thông hơn, đích thực ám ảnh về mặt tinh thần: các kỹ sư không biết những gì đã được tương trợ và những gì không được.
Một số trong cộng đồng đã nhận thấy những vấn đề với NoSQL từ sớm (ví dụ, DeWitt và Stonebraker trong năm 2008). Theo thời gian, ngày một có nhiều nhà phát triển phần mềm nhận trả này.

Phần 3: Sự trở lại của SQL

Ban đầu bị hấp dẫn bởi “lực lượng bóng tối”, cộng đồng phần mềm bắt đầu nhìn thấy ánh sáng và trở lại với SQL.
trước hết là các giao diện SQL bên trên Hadoop/Spark, hướng NoSQL thành “Not only SQL”
Sự phát triển của NewSQL: cơ sở dữ liệu mới, có thể mở mang và hỗ trợ SQL. H-Store (xuất bản năm 2008) của MIT và các nhà nghiên cứu ở Brown lần trước tiên thực hành mở mang các cơ sở dữ liệu OLTP . Google tiếp tục dẫn đầu việc nhân rộng cơ sở dữ liệu có giao diện SQL với bản vắng đầu tiên của họ (xuất bản năm 2012) (những tác giả bao gồm các tác giả gốc MapReduce), tiếp theo là những người tiền phong khác như CockroachDB (2014).
song song, cộng đồng PostgreSQL bắt đầu hồi sinh, bổ sung các cải tiến quan trọng như kiểu dữ liệu JSON (2012) và một loạt các tính năng mới trong PostgreSQL 10: tương trợ tốt hơn cho phân vùng và replication, tương trợ chừng văn bản toàn diện cho JSON và hơn thế nữa (dự định phát hành cuối năm nay). Các công ty khác như CitusDB (2016) và Yours Truly (TimescaleDB, phát hành trong năm nay) đã tìm ra những cách mới để mở mang PostgreSQL cho các data workload chuyên biệt.
Trên thực tại, hành trình phát triển TimescaleDB của chúng tôi đề đạt chặt con đường mà ngành công nghiệp đã sang. Các phiên bản nội bộ trước hết của TimescaleDB bao gồm tiếng nói truy SQL-like, gọi là “ioQL.” Vâng, chúng tôi cũng bị cám dỗ bởi mặt tối: việc xây dựng ngôn ngữ truy riêng của chúng tôi có cảm tưởng là sẽ mạnh mẽ. Tưởng như dễ dàng, chúng tôi lại sớm nhận ra rằng chúng ta phải làm nhiều việc hơn: thí dụ, quyết định cú pháp, xây dựng các kết nối khác nhau, giáo dục người dùng … Chúng tôi cũng tìm thấy chính mình liên tiếp dạo cú pháp thích hợp với truy vấn mà chúng tôi đã có thể biểu lộ bằng SQL, cho một ngôn ngữ truy tìm mà chúng tôi đã chính tay viết ra!

Một ngày chúng tôi nhận ra rằng xây dựng tiếng nói truy hỏi riêng của chúng tôi không có ý nghĩa. Đó chính là chìa khóa dẫn đến bằng lòng SQL. Và đó là một trong những quyết định thiết kế tốt nhất mà chúng tôi đã thực hiện. ngay tức khắc một thế giới hoàn toàn mới mở ra. hiện tại, mặc dù TimescaleDB chỉ là một cơ sở dữ liệu 5 tháng tuổi, người dùng có thể dùng trong production và nhận được toàn bộ các điều tuyệt trần: công cụ trực quan (Tableau), kết nối với các ORM phổ biến, một loạt các tools và các tùy chọn sao lưu, chỉ dẫn phong phú và giải đáp syntax trực tuyến, v.v.

Nhưng đừng tin chúng tôi. Hãy thử tìm hiểu về Google
Google rõ ràng là người tiên phong trong lĩnh vực cơ sở dữ liệu và cơ sở hạ tầng trong hơn một thập kỷ nay. Nó khiến chúng tôi chú ý đến những gì họ đang làm.
Xem paper của Google(Spanner), phát hành cách đây chỉ bốn tháng (Spanner: Becoming a SQL System, May 2017), và bạn sẽ thấy rằng nó củng cố các phát hiện của chúng tôi.
ví dụ: Google đã bắt đầu xây dựng trên Bigtable, nhưng sau đó phát hiện ra rằng việc thiếu các vấn đề tạo SQL (nhấn mạnh trong bít tất các trích dẫn dưới đây của chúng tôi):

“mặc dầu các hệ thống này cung cấp một số lợi ích của một hệ thống cơ sở dữ liệu, nhưng họ thiếu nhiều tính năng cơ sở dữ liệu truyền thống mà các nhà phát triển vận dụng thường dựa vào. Một tỉ dụ quan yếu là một ngôn ngữ truy hỏi mạnh mẽ, có tức thị các nhà phát triển phải viết mã phức tạp để xử lý và tổng hợp dữ liệu trong các vận dụng của họ. Do đó, chúng tôi đã quyết định biến Spanner thành một hệ thống SQL đầy đủ tính năng, với việc thực hành truy hỏi được tích hợp chặt đẹp với các tính năng kiến trúc khác của Spanner (như tính nhất quán mạnh mẽ và nhân rộng toàn cầu). “

Sau đó trong bài báo họ tiếp tục feature các lý do chuyển đổi từ NoSQL sang SQL:

API gốc của Spanner đã cung cấp các NoSQL methods để gieo và quét dãy các bảng riêng lẻ và xen kẽ nhau. Trong khi NoSQL methods cung cấp một path đơn giản để khởi chạy Spanner, và đấu bổ ích trong các kịch bản thu hồi kết quả đơn giản, SQL đã cung cấp giá trị bổ sung đáng kể trong việc biểu hiện các mẫu truy cập dữ liệu phức tạp hơn và đẩy tính tình vào dữ liệu.

Bài báo cũng biểu thị cách họ không ngừng nghỉ ứng dụng SQL vào Spanner, mở mang ra hết thảy phần còn lại của Google, nơi mà nhiều hệ thống giờ có chung một phương ngữ SQL:

SQL engine của Spanner chia sẻ một phương ngữ SQL phổ thông, được gọi là “Standard SQL”, với một số hệ thống khác của Google bao gồm các hệ thống nội bộ như F1 và Dremel (các hệ khác) và các hệ thống bên ngoài như BigQuery …
Đối với người dùng Google, điều này làm giảm rào cản làm việc giữa các hệ thống. Nhà phát triển hoặc nhà phân tách dữ liệu có thể viết SQL trong cơ sở dữ liệu Spanner để transfer sự hiểu biết của họ về ngôn ngữ này sang Dremel mà không quan hoài đến sự dị biệt nhỏ về syntax, xử lý NULL, v.v …

Sự thành công của cách tiếp cận này nói lên bản thân nó. Spanner đã là “suối nguồn chân lý” cho các hệ thống lớn của Google, bao gồm cả AdWords và Google Play, trong khi khách hàng tiềm năng của đám mây quan hoài đến việc dùng SQL.
Xét rằng Google đã giúp đề xướng phong trào NoSQL, thì điều đáng để ý là ngày nay, họ đang nắm bắt SQL .

Điều này có ý nghĩa gì đối với tương lai của data?

Trong computer networking, có một khái niệm gọi là “narrow waist”.
Ý tưởng này xuất hiện để giải quyết một vấn đề mấu chốt: Trên bất kỳ thiết bị nối mạng nào, hãy mường tượng một ngăn xếp, với các lớp phần cứng ở dưới cùng và các lớp phần mềm trên đầu. Có thể tồn tại một loạt các phần cứng mạng; rưa rứa có thể tồn tại một loạt các phần mềm và áp dụng. Cần một cách để bảo đảm rằng bất kể vấn đề về phần cứng, phần mềm vẫn có thể kết nối với mạng; và bất kề vấn đề về phần mềm, phần cứng mạng vẫn biết cách xử lý các đề nghị mạng.
Trong thế giới mạng, vai trò của narrow waist được thực hành bởi Internet Protocol (IP), đóng vai trò như một giao diện chung giữa các giao thức mạng cấp thấp được thiết kế cho mạng cục bộ và các giao thức ứng dụng và giao thức cấp cao hơn. Giao diện chung này đã trở thành tiếng nói giữa các máy tính, cho phép các mạng kết nối, thiết bị truyền thông và “mạng lưới các mạng” này phát triển thành Internet phong phú và đa dạng ngày nay.

Chúng tôi tin rằng SQL đã trở thành narrow waist để phân tách dữ liệu.

Chúng ta đang sống trong thời đại mà dữ liệu đang trở nên “nguồn tài nguyên quý nhất thế giới” (The Economist, tháng 5 năm 2017). Kết quả là, chúng ta đã chứng kiến ​​sự bùng nổ của các cơ sở dữ liệu chuyên dụng Cambri (OLAP, time-series, document, graph, etc.), các công cụ xử lý dữ liệu (Hadoop, Spark, Flink), data buses (Kafka, RabbitMQ). ngày một nhiều vận dụng cần dựa vào hạ tầng cơ sở dữ liệu này, kể cả là các dụng cụ trực giác hoá dữ liệu của bên thứ ba (Tableau, Grafana, PowerBI, Superset), các web frameworks (Rails, Django) hay các custom-built data-driven applications.
Giống như networking, stack phức tạp với cơ sở hạ tầng ở dưới cùng và các áp dụng bên trên. thường nhật, chúng ta sẽ viết rất nhiều code để làm cho stack hoạt động và chúng cần phải được maintain.

Những gì chúng ta cần là một giao diện chung cho phép các phần của stack này giao thông với nhau. Một điều gì đó đã được chuẩn hóa trong ngành. Cái gì đó sẽ cho phép chúng ta bàn bạc trong / ngoài các lớp khác nhau với thất thoát tối thiểu.

Đó là sức mạnh của SQL. Giống như IP, SQL là một giao diện chung.

Nhưng SQL đích thực dị biệt hơn IP. vì chưng dữ liệu cũng được phân tích bởi con người. Và đúng với mục đích mà người sáng tạo ra SQL gán cho nó thuở Ban đầu: SQL có thể đọc được.
SQL hoàn hảo? Không, nhưng đó là tiếng nói mà hầu hết chúng ta biết. Và mặc dầu đã có các kỹ sư đang làm việc trên giao diện ngôn ngữ tự nhiên hơn, những hệ thống này sau đó sẽ kết nối với những gì? Yes, SQL.

bởi vậy, có một lớp ở trên cùng của stack. Và lớp đó là chúng ta.

SQL đã trở lại

SQL đã trở lại. do thế giới đang đầy ắp dữ liệu. Nó vây quanh và liên kết mọi người. Lúc đầu, chúng ta dựa vào các cảm quan của con người và hệ thần kinh cảm giác để xử lý nó. hiện thời phần mềm và các hệ thống phần cứng cũng đủ sáng dạ, sự phức tạp của các hệ thống lưu trữ, xử lý, phân tích…chúng thu thập dữ liệu ngày càng nhiều hơn để hiểu rõ hơn về thế giới của chúng ta.

Monday, May 28, 2018

Tại sao nên học lập trình ngay bây giờ nếu có thể?

(12/9) - ngày 256 của năm cũng là ngày tôn vinh các lập trình viên quốc tế. 256 chính là số lượng các giá trị khác nhau hiện diện trong 1 byte (8-bit).
Nhân ngày Quốc tế Lập trình, ông Vũ Minh Trí, giám đốc điều hành Microsoft Việt Nam chia sẻ 5 lý do khuyến khích mọi người nên thử học lập trình:

Trình độ kỹ thuật số đi đôi với tăng trưởng kinh tế: Theo một nghiên cứu gần đây của Accenture, hiện hơn 1/5 GDP của thế giới được tạo ra bởi các hình thức năng lực khác nhau của kỹ thuật số như kỹ năng, vốn, hàng hóa hoặc dịch vụ số hóa. Công nghệ số hóa có thể tạo ra giá trị 2.000 tỷ USD trong sản lượng kinh tế toàn cầu tính đến năm 2020, chứng minh rõ vai trò của kỹ thuật số trong việc thúc đẩy tăng trưởng kinh tế chung. do vậy, nhiều nhà nước châu Á như Nhật Bản, Hàn Quốc, Singapore, Malaysia và Việt Nam đã chính thức lên kế hoạch đưa các ngành học hệ trọng đến khoa học máy tính và công nghệ phần mềm vào chương trình giảng dạy.

Lập trình là nguồn dẫn đến sự đổi mới: mặc dầu, hình như khái niệm một ứng dụng đáp ứng cho quờ quạng nhu cầu hiện đang tồn tại, nhưng thế giới xoành xoạch chờ đợi một điều gì đó lớn lao hơn. Những áp dụng công nghệ dự kiến ​​sẽ mang lại gấp đôi lợi nhuận, lên đến 101 tỷ USD vào năm 2020, thành ra, nếu có một ý tưởng tuyệt trần và biết lập trình, đó chính là lợi thế trong mai sau.

Theo số liệu mới nhất từ ​​Bloomberg, 5 công ty hàng đầu thế giới về vốn trên thị trường chứng khoán hiện tại là Apple, Alphabet, Microsoft, Amazon và Facebook. Đây chính là phản ánh rõ rệt rằng, cán cân tăng trưởng đã được chuyển từ các ngành công nghiệp truyền thống là Dầu khí, nhà băng và Tự động hóa sang các ngành can dự đến Công nghệ.

ngôn ngữ lập trình là ngoại ngữ: Tương tự như cách chọn một ngoại ngữ để tiếp cận thêm một nền văn hóa mới, tiếng nói lập trình cũng vậy. bây giờ, bốn tiểu bang Mỹ đang mong muốn đưa tiếng nói lập trình vào danh sách các ngoại ngữ bắt buộc của chương trình học. Như vậy khả năng thành thạo tiếng nói lập trình cũng quan yếu không kém khả năng ngoại ngữ trong thế giới việc làm đầy cạnh tranh ngày nay.

Kỹ năng lập trình giúp bổ sung và củng cố kỹ năng quan yếu như giải quyết vấn đề và làm việc theo nhóm: Lập trình mang lại ích lợi nhiều hơn cho những người muốn đeo đuổi nó một cách chuyên nghiệp. Trong quá trình học tập, người học có thể xây dựng những nguyên tắc căn bản quan yếu riêng, như cách đơn giản hóa các hệ thống phức tạp. Học lập trình giúp nuôi dưỡng những tư duy sáng tạo, góp phần vào khả năng giải quyết vấn đề, phát triển logic và nuôi dưỡng tiềm năng cá nhân, tạo động lực hướng đến nền kinh tế công nghệ.

Friday, May 25, 2018

Trong hackathon chống buôn bán tình dục của Facebook

Những người khổng lồ công nghệ đã bỏ cuộc cạnh tranh của họ sang một bên trong hai ngày trong tuần để viết mã cho một nguyên cớ phổ biến: bảo vệ trẻ thơ trên internet. Sâu bên trong hội sở Menlo Park của Facebook, các nhóm được rút ra từ Uber, Twitter, Google, Microsoft và Pinterest đã làm việc qua đêm để thử nghiệm các phương tiện mới được thiết kế để giúp các tổ chức phi lợi nhuận trong cuộc chiến chống buôn bán dục tình trẻ con.

Phần lớn công việc của họ từ hoạt động hackathon an toàn trẻ mỏ hàng năm của Facebook đích thực quá mẫn cảm để xuất bản. Để đi trước một bước của bọn tầy, các chi tiết cụ thể về cách các công cụ này theo dõi kẻ buôn người và trẻ thơ bị mất trên các trang web phải được giữ bí ẩn. Nhưng các sản phẩm thu được, cả thảy đều được quyên cho các tổ chức phi chính phủ như Thorn và Internet Watch Foundation, có thể giúp các công ty công nghệ tập hợp một trận mạc hợp nhất chống lại những người muốn làm tổn thương trẻ con.

Guy Rosen, phó giám đốc quản lý sản phẩm của Facebook và là một trong những giám khảo của sự kiện cho biết: “Điều có liên hệ đến an toàn và an ninh và chống lạm dụng là một lĩnh vực mà ngành công nghiệp cộng tác. “Hackathons là một cách ráo để đưa mọi người lại gần nhau để thực sự phát động một số ý tưởng này. . . đảm bảo rằng các kỹ sư có ý tưởng thông minh thực sự có thể hiểu được những điểm đau và vận dụng nghĩ suy đó cho những vấn đề này. ”

 

Người thắng lợi trong cuộc đua Hackathon năm 2016 đã phát triển thành một nguồn tài nguyên vô giá cho các nhóm như trọng điểm quốc gia về trẻ thơ mất tích và bị bóc lột. dụng cụ "công cụ tìm người con" khớp với các bức ảnh trực tuyến, như các công cụ trên danh sách dịch vụ hộ vệ, đến cơ sở dữ liệu của trẻ thơ mất tích của NCMEC. Nó giúp giảm thời gian phản ứng của cơ quan thực thi pháp luật để họ có thể triển khai các sĩ quan với hy vọng cứu những đứa trẻ này.

 

Phát biểu trong tiếng nói công nghệ của mã máy tính, quản lý kỹ thuật Facebook Cristian Canton Ferrer mô tả công cụ này nói rằng: “Mọi người bị ảnh hưởng = 1; độ lớn của thay đổi = rất lớn; tác động lâu dài của thay đổi = mãi mãi. ”

 

Trong khi Facebook gần đây đã bị chỉ trích vì sự thống trị của nó trong mạng tầng lớp và cách tiếp cận quyền riêng tây dữ liệu, thì quy mô của nó đã tạo cho nó nguồn lực cho các dự án mũi nhọn như thế này. Và do nó đã quen với việc hack các dụng cụ được chia tỷ lệ, việc hiệp tác với các tổ chức phi chính phủ và các nền móng web khác có thể cho phép trái cây của 10 năm lao động xung quanh an toàn trẻ con được truyền cho những người chẳng thể tự xây dựng chúng.

 

“Nó không có lợi cho công ty nếu nhận thức chung là Internet không phải là một nơi an toàn,” người đứng đầu toàn cầu của Facebook về an toàn Antigone Davis nói. “quờ quạng chúng ta đều có thị hiếu cá nhân chủ nghĩa cũng như sự quan tâm của ngành trong việc bảo đảm rằng không chỉ mọi người coi đó là một nơi an toàn mà là nơi an toàn.”

 

 

Trong số các dự án tại cuộc đua Hackathon năm nay là một cách để dùng tầm nhìn của máy để xác định người và các tính năng phân biệt khác trong ảnh từ các trang web được biết là được dùng để buôn bán dục tình. Trí sáng ý nhân tạo có thể giúp một số gánh nặng của các nhà điều tra con người có thể bị đánh thuế tình cảm bằng cách liên tiếp xem hình ảnh của người bị khai phá.

 

Dự án chiến thắng, được gọi là "thiên hướng Spotting", sử dụng phân tích phân cụm để theo dõi các kẻ buôn người khi họ di chuyển trên internet. Đề cập đến việc chấm dứt gần đây của một thị trường mại dâm trực tuyến phổ thông, Rosen nói với những người dự hackathon rằng "Backpage xuống là một sự kiện lớn, nhưng những kẻ xấu vẫn còn ở ngoài đó."

 

 

Nhóm Spotting Trends đã không được trao một bản soát mới lạ khổng lồ hoặc một số danh hiệu vàng. Thay vào đó, họ sẽ có nhịp mô tả tác phẩm của mình tại Hội nghị chống phạm nhân con trẻ lớn Dallas, năm ngoái đã lôi cuốn hơn 4.300 chuyên gia từ ngành an toàn.

“Loại người đến đây, họ thực sự có động lực và thực thụ kiêu hãnh về công việc do các công ty internet chúng tôi hoạt động ở quy mô hàng trăm triệu hoặc hàng tỷ người dùng. Nhưng khi bạn làm mướn việc này, bạn sẽ nghe những câu chuyện cá nhân chủ nghĩa đó, ”Rosen giải thích. "Chỉ cần biết những điều chúng tôi làm việc trên có một tác động thực thụ đến những người thực thụ là những gì giữ tuốt những người này đến mỗi buổi sáng và thúc đẩy để làm thuê việc đích thực tốt."

 

Davis kết luận: “Tôi nghĩ rằng họ là công việc hậu trường yên tĩnh mà không được chiến thắng gần như đủ.”

Thursday, May 24, 2018

Phát triển tốc độ Facebook với “Máy ảo HipHop”, Trình xử lý PHP nhanh hơn 60%

ảnh minh họa - học lập trình php

“Hãy coi xét rằng nhiều kỹ sư của Facebook dành nhiều ngày để phát triển mã PHP trong một chu trình gỡ rối-tải lại-sửa lỗi vô tận. Sự dị biệt giữa tải lại 8 giây và 5 giây do chuyển từ trình thông dịch HipHop sang Máy ảo HipHop tạo ra sự khác biệt lớn về năng suất. ”Đó là cách Facebook giảng giải tầm quan trọng của người thực thi PHP mới của mình, HipHop Virtual Machine, được ban bố ngày bữa nay. Nhanh hơn 60% so với phiên dịch viên HipHop mà Facebook hiện đang sử dụng. HHVM sẽ cải thiện hiệu suất của mã Facebook và tăng tốc quá trình phát triển mà không buộc Facebook phải tắt PHP, mà các kỹ sư của nó được đào tạo.

Facebook ban đầu khai triển HipHop nguồn mở của nó cho PHP vào tháng 2 năm 2010 để chuyển đổi PHP thành C ++. Điều này cho phép nó lưu các chu kỳ CPU trên các máy chủ web của nó. Tuy nhiên, nó làm cho nó khó khăn để tối ưu hóa mã và đề nghị một người giảng giải HipHop mà đã "rất nhiều thay để duy trì".

bởi vậy, trong năm qua nó đã phát triển HHVM để thay thế thông dịch viên đó. Bây giờ, “so với thông ngôn viên HipHop, trình thông ngôn bytecode HHVM nhanh hơn khoảng 1,6 lần cho một bộ tiêu chuẩn thực tiễn trên Facebook thực tại.” Tuy nhiên, chúng tôi đã nhận được thông tin rằng phiên dịch viên HipHop cũ của Facebook tương đối chậm để bắt đầu, so với thông dịch viên PHP gốc.

Để biết thêm chi tiết kỹ thuật, hãy xem bài đăng blog chuyên sâu về Máy ảo HipHop. rốt cuộc, Facebook có thể chạy quờ quạng PHP của nó ưng chuẩn HHVM. trước hết, nó đang làm việc ra khỏi dịch giả HipHop. Khi HHVM tích hợp sâu vào mã nguồn của HipHop, có sẵn trên GitHub, Facebook hy vọng “rằng cộng đồng PHP sẽ tìm hhvm hữu ích khi nó trưởng thành và dự với chúng tôi để mở mang tính hữu dụng của nó chuẩn y các cuộc bàn luận kỹ thuật, thưa lỗi và đóng góp mã . ”

Cập nhật: Do lỗi của bộ phận Cơ quan OutCast, cơ quan PR của Facebook, bài viết này ban đầu đã nêu không xác thực rằng HHVM đã cung cấp "giảm 90% phí bộ nhớ" chuẩn y trình phiên dịch HipHop hiện có của Facebook. Cơ quan đã gửi cho chúng tôi thông báo không xác thực này dựa trên một bản nháp chưa được xuất bản trước đây của bài đăng trên Facebook về HHVM mà sau đó đã được các kỹ sư của Facebook tôn tạo.

Tuesday, May 22, 2018

Chọn một số thông tin chi tiết về tương lai di chuyển với giám đốc điều hành Gett Dave Waiser ở Tel Aviv

 

Dave Waiser đã đi đầu trong cuộc cách mạng công nghệ di động ở Israel trong tám năm qua, kể từ khi ông ra mắt Gett vào năm 2010.

Một trong những công ty chung cuộc đứng trong thị trường san sớt toàn cầu, siêu cạnh tranh, Gett đã chịu đựng sự cạnh tranh từ Didi Chuxing, Grab, Ola, Lyft và Uber và theo kịp với những đối thủ đó vì nó tuyên bố một phần của một thị trường trên toàn thế giới trị giá hàng tỷ.

ưng chuẩn các hoạt động trực tiếp và quan hệ đối tác với các công ty như lái xe và hậu cần kinh doanh Carey International, Gett đã đạt được một dấu chân của 1.000 thành phố trải rộng trên toàn cầu. Nó hoạt động trực tiếp tại 100 thị thành ở bốn nhà nước (bao gồm cả một vị trí cạnh tranh ở New York) và đã huy động được 640 triệu đô la trong kinh phí mạo hiểm - bao gồm khoản đầu tư 300 triệu đô la từ Tập đoàn Volkswagen.

Đối với Waiser, sự thành công của Gett chỉ là thành công mới nhất trong một chuỗi các nỗ lực mà doanh gia thành đạt đã thực hiện từ những ngày đầu của thiên niên kỷ mới. Một trong những công việc trước tiên của Waiser, vào năm 2000, là giới thiệu công ty của Nga, nhà cung cấp phần mềm viễn thông trước nhất được giao dịch công khai, Comverse.

Tại Tel Aviv, Waiser sẽ chia sẻ nghĩ suy của mình với chúng tôi về tương lai của tính di động, các đỉnh và thung lũng của hành trình của thương buôn, và điều tiếp theo cho Gett khi nó tiếp xúc tiến trong một thị trường cạnh tranh cao.

Đó là một viễn ảnh mà không ai muốn bỏ lỡ và một cái sẽ dành riêng cho khán giả của chúng tôi ở Tel Aviv. Vé đang được bán ngay bây giờ.

Tuesday, May 15, 2018

học tester bắt đầu như thế nào

 

Tôi viết bài này để san sẻ với các bạn sinh viên có dự kiến làm về kiểm thử phần mềm (tester) trong tương lai, hy vọng sẽ cung cấp thêm thông tin giúp các bạn dễ dàng có được định hướng cho con đường của mình. Để đáp câu hỏi “Học gì để trở nên một Tester?” tôi nghĩ cần phải đi qua các ý sau:

1. Tester sẽ làm những công việc gì?

Nhìn chung công việc chính của tester là đảm bảo chất lượng của phần mềm, soát để phát hiện các lỗi đang tồn tại trước khi giao sản phẩn cho khách hàng, tùy thuộc vào dự án cũng như công ty mà vai trò của tester tham dự sâu đến mức nào. Tester thường chia ra làm 2 hướng chính là Manual test và Automation test.
Manual testing: đây là chọn lọc của phần đông các bạn bắt đầu làm test, với chọn lựa này bạn không cần nhiều tri thức về lập trình cũng như sẽ ít đụng vào code trong lúc làm, tuy nhiên cần phải nắm khá vừng về các định nghĩa, kỹ thuật test manual và có tư duy tìm lỗi tốt.
Automation testing: đây thường là lựa chọn của các bạn đang làm Developer mà muốn chuyển sang làm Tester, hoặc các bạn làm manual lâu năm muốn học hỏi thêm cái gì đó mới mẻ và nâng cao trình độ của mình. Automation test có thể nói là Dev trong Test, công việc chính là sẽ viết code để thực hiện việc rà một cách tự động và phần đông thời kì sẽ làm việc với code như một developer. Người làm automation sẽ không cần thiết phải nắm sâu về các tri thức test manual nhưng thay vào đó phải biết rõ về các automation tools & frameworks cũng như có thể làm việc được trên nhiều ngôn ngữ lập trình khác nhau như Java, C#, AutoIT, Python, C++ v.v, tùy theo đề nghị dự án.

Automation không phải là nâng cao của manual vì nó là hai nhánh khác nhau, cả hai đều quan yếu cũng như có độ khó nhất mực nếu phải học và tìm hiểu sâu. Người làm manual tốt không chắc có thể viết code được và người làm automation cũng chưa chắc sẽ có được tư duy, khả năng quan sát & kiến thức kiểm thử manual nên bạn cứ chọn một hướng hạp với khả năng và bắt đầu học, không nên tìm hiểu cùng lúc cả hai trong giai đoạn mới vào sẽ tốn rất nhiều thời kì.


2. Tester cần những tri thức gì?

– Đầu tiên, tester cũng giống như bất cứ ngành nào khác trong lĩnh vực phần mềm là cần một nền tảng căn bản về máy tính. tri thức cơ bản này bạn có thể học được trong chương trình cao đẳng, đại học. bây giờ giáo trình đào tạo cao đẳng, đại học về công nghệ thông tin của các trường cũng khá đầy đủ, bao quát nhiều tri thức như hệ điều hành, database, lập trình, mạng…. Những tri thức này tuy có vẻ không vận dụng được gì trong lúc học nhưng sẽ rất hữu ích cho việc học test và đi làm sau này, nếu bạn tập hợp học trong giai đoạn sinh viên thì sau khi ra trường việc học thêm một khóa về kiểm thử là khá nhanh và đơn giản hơn nhiều.

– Nếu bạn học ngành khác nhưng muốn chuyển sang làm test (chưa học gì nhiều về công nghệ thông tin trong trường) thì sẽ khó khăn và tốn nhiều thời gian hơn vì bạn phải học lại cơ bản, cũng như sẽ bị sót nhiều kiến thức nếu chỉ đăng ký một khóa học test ngắn hạn. Nhưng nói vậy không có nghĩa là không thể, cũng có nhiều bạn đang làm test và khá thành công nhưng phát xuất từ các ngành khác như sư phạm, kinh tế. Nếu bạn cũng đang học trái ngành thì có 2 bước cần thực hành đó là dành thời kì học cách dùng tốt máy tính, tin học văn phòng, đọc thêm các sách cơ bản về máy tính, lập trình (có thể mượn từ các bạn đang học CNTT). tuổi này sẽ tốn khoảng 3 đến 6 tháng (hoặc hơn), tuy hơi dài nhưng sẽ rất có giá trị. Tiếp theo bạn cần học thêm về các kiến thức chuyên ngành testing, tuổi này sẽ ngắn hơn, thường là khoảng 2 đến 3 tháng, chi tiết học gì tôi sẽ nói ở phần sau.

– Tiếng Anh, cái này không liên quan test nhưng rất quan yếu, tiếng Anh tốt bạn có nhiều cơ hội để đậu vào các công ty hơn cũng như dễ dàng học thêm về test sau này vì tài liệu phần nhiều là tiếng Anh.

Vậy tóm lược lại, có 3 tri thức tester cần trang bị là nền tảng về máy tính + tri thức Test cơ bản + Tiếng Anh


3. Học gì để trở thành tester?

3.1. kiến thức chung: (dù bạn chọn theo hướng nào thì cũng nên nắm các tri thức này).

– tri thức căn bản về máy tính, tin học văn phòng căn bản, cài đặt phần mềm, dùng internet.
– kiến thức về lập trình: cơ bản SQL, HTML, CSS. Đây là 3 món tôi nghĩ rất cần thiết khi làm test, bạn không cần phải học sâu để viết code nhưng chí ít phải đọc hiểu được và có thể chỉnh sửa code đơn giản.
– tri thức tổng quan về test, bao gồm việc hiểu các định nghĩa cơ bản, các thuật ngữ, quy trình phát triển phần mềm, quy trình test. Bạn có thể học theo cuốn ISTQB Foundation hoặc tham khảo các mục gợi ý sau:
What is Software Testing? – Tìm hiểu phần này để biết được testing là gì? các định nghĩa, khái niệm cơ bản về kiểm thử phần mềm.
Why is Software Testing Important? – Tại sao testing lại quan trọng và cần thiết? nếu không có tester thì sản phẩm sẽ ra sao?
Software Development life cycle: Vòng đời phát triển phần mềm, vị trí của testing trong các thời đoạn phát triển sản phẩm.
Software Test life cycle: Vòng đời của kiểm thử, trật tự các công việc kiểm thử.
Defect Life Cycle: Vòng đởi của lỗi và trạng thái qua các thời đoạn.
Quality Assurance vs. Quality control, Verification vs Validation: Phân biêt sự giống nhau và khác nhau giữa một số khái niệm.
Software Testing Levels: Các mức độ trong kiểm thử, đi từ nhỏ nhất đến các mức độ cao nhất.
Software Testing types: Các loại testing thư Functional testing, Non-functional testing, Structural testing, Change related testing.

3.2. Phần tri thức riêng:

Manual Test:

Đây là danh sách các kiến thức bạn nên tìm hiểu sâu thêm nếu sẽ làm test theo hướng manual.
Create a Test Plan: Các thành phần cần có trong một test plan cơ bản, cách viết test plan.
Design Test case: Cách tạo và viết một testcase thông dụng.
Test Design Techniques: Các kỹ thuật thiết kế testcase, giúp cho testcase hiệu quả và tối ưu hơn.
Test reporting, Daily status reports – cách viết report để báo cáo kết quả test của mình.
Defect management: Finding defects, Logging defects, Tracking and managing defects – Học cách report & quản lý một bug cũng như dùng tools tracking thông dụng như Jira, Mantis, Bugzilla, Application Lifecycle Management (ALM).
Mobile application testing (iOS, Android, Windows Phone): Cách cài đặt và test ứng dụng mobile, cách giả lập thiết bị điện thoại trên máy tính.
Windows, Website testing & Tools support: Cách test một áp dụng desktop, một trang web và giả lập các trình duyệt khác nhau trên máy tính.
Risk based testing process and implementation: Đánh giá rủi ro trong kiểm thử, đây là phần nâng cao nhưng cũng nên tìm hiểu qua.
Coding: SQL, HTML, CSS.

Một số trang để tự học các kiến thức về manual testing căn bản, các trang này cung cấp đầy đủ các tri thức bên trên cũng như mở mang thêm khá nhiều tri thức liên quan đến test khác:

 


Automation Test:
Học thêm về lập trình: Java, C# (.Net) là hai ngôn ngữ căn bản mà những người làm automation hay dùng, ngoài ra có các ngôn ngữ khác dùng để tương trợ như AutoIT, Python.
Học về các Automation Tool/Framework phổ biến như: Ranorex, Selenium, Appium, TestComplete.
Các Tools khác như: Jmeter, SoapUI.

Các địa chỉ học về Automation & Lập trình:

 


Nếu chưa biết nên bắt đầu từ đâu tôi gợi ý là bắt đầu vơi bộ tools Selenium (thường dùng Java) hoặc Ranorex (C# hoặc .Net nói chung). Với Selenium (miễn phí) bạn có thể làm được automation cho website còn Ranorex thì có thể làm được trên website, mobile application và desktop application nhưng có tốn phí khá cao.

4. Học test ở đâu?


Có ba cách cơ bản để học test là tự học, học ở trọng điểm và học nhóm. phần đông các tester thuộc đời 8x hay 9x đời đầu đều tự học mà làm vì giai đoạn đó testing chưa phát triển và cũng chưa có trung tâm chuyên đào tạo, các trường đại học cũng chưa đưa vào chương trình dạy. Nhưng tôi thấy phần đông tester ở giai đoạn này thường xuất thân từ CNTT nên việc tự học và học thêm về test cũng khá nhanh. Để tự học test bạn có thể vào các nguồn tôi cung cấp ở phần bên trên, nó khá đầy đủ kiến thức cơ bản.
Thứ hai là có thể đi học ở trung tâm hay một nhóm nào đó, các trọng điểm thường có các khóa đào tạo ngắn hạn trong khoảng 3 tháng đỗ lại, một số trọng tâm thì có chương trình dài hơn nhưng thường không quá 6 tháng. Tôi tự học và chưa trải nghiệm qua trọng tâm nào nên cũng không rõ chất lượng ở những nơi đó, nhưng tôi cũng rất vui lòng nếu bạn gởi email cá nhân đến tôi để tham khảo về các trọng điểm bạn đang định học, tôi sẽ thông qua một số mối quan hệ và bạn bè để hỏi giúp ban chất lượng của những nơi đó.
ngoài ra còn một cách học khác là học nhóm, dạy kèm test, cách này tôi đang áp dụng ở một đôi nhóm và thấy khá hiệu quả vì nó vừa linh động về thời gian và số lượng học viên thường giới hạn ít nên sẽ dễ tiếp thu hơn, thời kì học khoảng 1 đến 2 tháng. Nếu bạn quan tâm đến những khóa học này cũng có thể email đến tôi, khi nào bắt đầu khóa mới về testing cơ bản tôi sẽ cho bạn biết.

5. Tổng kết.

Trong giai đoạn mà chất lượng sẽ quyết định sự tồn vong của sản phẩm phần mềm thì tầm quan trọng của Tester ngày một được nâng cao và đóng vai trò quan trọng, các dự án cũng cần nhiều tester hơn nên trong ngày mai nghề test sẽ phát triển mạnh mẽ, việc định hướng và trang bị kiến thức sớm từ bây giờ là rất cần thiết. Sau khi nắm được các kiến thức cơ bản, bạn hãy tìm một công ty hay một dự án nào đó để bắt đầu làm, thời đoạn này rất quan trọng vì chỉ có bắt tay vào làm bạn mới hình dung rõ ràng hơn các khái niệm đã đọc cũng như học thêm cái mới trong lúc làm thực tế. Hy vọng bài này sẽ cung cấp những thông báo giúp bạn có thể bắt đầu vào việc học thuận lợi hơn.

Như mọi khi, đừng ngại email đến tôi hoặc comment tại bài này nếu bạn có thắc mắc hay muốn bàn luận thêm điều gì đó trong lúc học, tôi rất vui để chia sẻ.