Frameworks and tools (edit)
Bạn đã bao giờ thử xây dựng framework tự động dành cho doanh nghiệp?
Nếu có, chắc chắn bạn đã không bỏ qua các công cụ và framework khác nhau đáp ứng nhu cầu tự động hoá trong những năm qua. Vì thế, nếu bạn đang xoay xở để kiểm tra UI tự động, phân tích static code hay các công việc có liên quan khác, thì những công cụ và framework đã được test sau đây sẽ giúp bạn hoàn thành công việc đó dễ dàng. Một số framework và công cụ tự động C# tốt nhất hiện nay bạn nên sử dụng:
Selenium WebDriver Framework Code
1. Golem Automated Testing Framework
Selenium WebDriver | GUI Testing | RESTful testing | SauceLabs
Framework này là một trong những framework nhiều tính năng nhất hiện nay, chức năng của nó là xây dựng các bài kiểm tra GUI, kiểm tra RESTful, và bài kiểm tra đối với ứng dụng Windows, đặc biệt nó có thể thực hiện những chức năng này trên chính máy tính của bạn hoặc trong cloud.
Nó còn sở hữu những chiến lược tuyệt vời khiến cho bài test trở nên rất dễ đọc và những log, srceenshot và video giúp debug bài test lỗi, là địa điểm lý tưởng giúp bạn hoàn thành công việc.
2. Page Object Model Framework
Ultimate QA
Selenium WebDriver | C# | Page Object Model
Đây là một framework tự động Selenium mạnh mẽ giúp bạn bắt đầu với Page Object Model and GUI automation. Hơn thế nữa, framework này chứa nhiều kỹ thuật tiên tiến để giúp bạn quản lý những trang lớn, thực hiện Solution Architecture tốt và tạo báo cáo HTML.
3. Automate The Planet Frameworks
Anton Angelov
Selenium Webdriver | Test Studio | C#
Angelov sở hữu rất nhiều code hữu ích đáng cho bạn học hỏi. Ông áp dụng các mẫu thiết kế khác nhau vào code của mình để cho người dùng thấy nó trông như thế nào. Ví dụ: bạn có thể xem cách sử dụng Strategy Design Pattern, the Facade Design Pattern, Page Object Model, and Advanced Page Object Model. Bạn có thể tham khảo tất cả và quyết định code bạn muốn tái sử dụng. Code này sẽ giúp bạn bắt đầu thực hiện công việc tự động kiểm tra.
BDD Frameworks
1. SpecFlow BDD Automation
C# | Selenium Webdriver | BDD
SpecFlow - một trong vài framework C# BDD - trở thành công cụ tự động lý tưởng cho dự án phát triển của bạn. Đặc biệt, bạn sẽ được dùng cú pháp Gherkin để xây dựng các bài test đọc gần với tiếng Anh đơn giản, vì thế các bài test này có thể được đọc bởi developers, testers và nhân viên kinh doanh. Trên lý thuyết, nó được xem như tài liệu “sống”, có thể thực hiện các yêu cầu thay đổi.
2. Serenity
Java | Selenium | BDD
Serenity là một framework BDD làm việc với Java và Selenium WebDriver. Serenity cũng cung cấp các chức năng như: Cung cấp quản lý WebDriver, chụp màn hình, chạy các phép thử song song, hỗ trợ Jira integration.
3. Gauge
ThoughtWorks
Test Automation Framework
Đo lường là một framework tự động kiểm tra được thiết kế bởi nhóm sáng lập ra Selenium WebDriver. Nói cách khác, "Dụng cụ đo là một công cụ tự động kiểm tra đa nền tảng có trọng lượng nhẹ với khả năng tạo ra các bài test bằng ngôn ngữ kinh doanh".
Unit Testing Frameworks
NUnit
C# | Unit Testing
NUnit chắc chắn là framework kiểm tra đơn vị C# phổ biến nhất. Nó cực kì hiệu quả trên Github với hàng triệu contributor. Bạn có thể sử dụng để thực hiện kiểm tra đơn vị và kiểm tra với một công cụ như WebDriver Selenium. Nó không những khá dễ sử dụng mà còn mạnh mẽ với tài liệu khá tốt và cung cấp hàng ngàn resource online.
Mocking Frameworks
1. Moq
Mocking Framework
Framework mã nguồn mở này hoạt động rất tốt thông qua việc mocking cho tự động kiểm tra sử dụng cú pháp .NET Linq. Nguồn tài liệu cũng dồi dào và mô tả chi tiết. Cộng đồng Github có khoảng 60 contributor và có hơn 1.000 cam kết; điều này có nghĩa là dự án đang được cập nhật. Thêm vào đó, bạn có thể tìm thấy hướng dẫn tuyệt vời về cách sử dụng nó trên Pluralsight.
2. FakeItEasy
Mocking Framework
Framework này rất dễ đọc với format rõ ràng, dễ hiểu. Nếu như bạn gặp rắc rối khi sử dụng Moq, hãy thử FakeItEasy, chắc chắn sẽ đáp ứng yêu cầu công việc của bạn.
Mutation Testing and Property-Based Testing
1. VisualMutator
C# | Mutation Testing
Đây là một khái niệm thú vị cho phép bạn về đảo ngược tất cả các lập luận để xem liệu bài test tự động có lỗi hay không. Visual Mutator là một trong số ít các công cụ C# khá tốt khi thực hiện kiểm tra theo phương pháp mutation.
2. FsCheck
C# | F# | Property-Based Testing
FsCheck là công cụ kiểm tra những chương trình .NET một cách tự động. FsCheck hỗ trợ nhiều framework như NUnit, MsTest và Xunit. Ngoài ra, tài liệu của nó cũng khá tốt, giúp bạn tránh những rắc rối khi thực hiện.
Code Coverage and Static Analysis Testing
1. DotCover
C# | Code Coverage
DotCover là một công cụ trong bộ phần mềm ReSharper Ultimate cho phép bạn nhận được số liệu thống kê code cho code của bạn. Bạn có thể thực hiện kiểm tra unit và sau đó xem xét phần nào của code được cover và phần nào không bằng cách sử dụng highlighting hữu ích được cung cấp sẵn.
2. SonarQube
Static Code Analysis | Continuous Code Quality | Multi-Language Support
SonarQube cung cấp trang chủ xếp hạng vị trí chất lượng của bạn. Gate chất lượng được thiết lập để ngăn smelly code trước khi đưa vào dự án. Bạn cũng có thể chạy phân tích cho pull request, điều này giúp bạn kiểm tra nhanh liệu code của bạn đã ảnh hưởng như thế nào đến toàn bộ dự án.