乐趣区

使用SonarQube进行测试

原文地址:使用 SonarQube 进行测试

Introduction

使用 TDD 开发模式,利用 SonarQube,Spark 等工具平台,对给定对网站进行测试,包括测试计划,测试用例编写,平台搭建等等。

Abstract

Rockets are fascinating. There are many different systems of rockets that launch satellites and other payloads into space (and back). In this semester-long project, we will develop and test a simple Web application, http://www.allaboutrockets.com, that registers and maintains orbital rockets, launches, and launch service providers.

Functional Specification

As a small software development house, you and your partner(s) have been contracted to build an online application (http://www.allaboutrockets.com) for maintaining information about orbital rockets. The system will support the following functionality:

  • User authentication
  • Showing rocket-related information: rockets, launches, launch service providers.
  • Add/update information about the above entities.

Main Technologies

Each project group will have the following tools set up for it on a server hosted by the university.

  • GitHub (https://education.github.com/): a code hosting platform for version control and collaboration. Each project group will setup a private repository name as fit5171_2019_X, where X is your team number you selected on Moodle. If your team members are from multiple tutorials, please select one tutorial for demonstration and interview purposes.
  • Jenkins (http://jenkins-ci.org/): a continuous integration tool. Each group’s project name will follow that of the GitHub repository’s name, e.g., fit5171_2019_3.
  • SonarQube (http://sonarqube.org/): a code quality monitoring tool. Each group’s code base will be continuously monitored and analysed by SonarQube, towards the end of the semester.

In your development and testing, we will make use of the following main languages/frameworks/technologies. These technologies will not all be needed at the start, and they will be gradually introduced into the assignments.

  • The Spark Framework (http://sparkjava.com/): a tiny Java framework for creating Web applications.
  • OrmLite (http://ormlite.com/): a lightweight object-relational mapping framework in Java, so that you can interact with the database by writing Java code, but not SQL code.
  • Freemarker (http://freemarker.org/): a template engine in Java that allows easy creation of HTML pages through templating.

Schedule

This project will be divided into three parts: unit testing, integration testing and system testing. You will continually add functionality to the project and test it. An overview of the three assignments is as follows.

Phase 1

Test planning and system setup: plan the testing approach, correctly setting up development and testing environment, and understanding and extending the code base provided (using a TDD approach).

Phase 2

Unit (and some integration) testing: perform unit testing on the system and develop a plan for integration testing.

Phase 3

Integration testing and software quality: continue to write unit tests and integration tests for the system. These tests will also need to be automatically executed on the continuous integration server.

(本文出自 csprojectedu.com,转载请注明出处)

退出移动版