ARCHITECTURE OF THE PROASENSE DEVELOPMENT ENVIRONMENT
|
|
- Meredith Charles
- 8 years ago
- Views:
Transcription
1 ARCHITECTURE OF THE PROASENSE DEVELOPMENT ENVIRONMENT Deliverable nº: D6.1 EC-GA Number: Project full title: The Proactive Sensing Enterprise
2 Work Package: Type of document: WP6 Deliverable Date: 28/10/2014 Grant Agreement No Partners: Responsible: SINTEF, FZI, ICCS, JSI, UNINOVA, NISSATECH, HSS, MHWIRTH NISSA Title: D6.1. Architecture of the ProaSense development environment Version: 1 Page: 0 / 29 Deliverable D6.1 Architecture of the ProaSense development environment DUE DELIVERY DATE: 31/10/2014 ACTUAL DELIVERY DATE:
3 ProaSense setup Page 1
4 Document History Vers. Issue Date Content and changes Author ToC Aleksandar Stojadinovic Deliverable ready for internal review /10/2014 Addressed reviewers comments. Final formatting and layout. Aleksandar Stojadinovic Aleksandar Stojadinovic Document Authors Partners Nissatech Contributors Aleksandar Stojadinovic, Aleksandar Stojanovic, Dusan Kostic, Boban Stajic Dissemination level: Document Approvers Partners SINTEF FZI Approvers Brian Elvesæter Dominik Riemer ProaSense setup Page 2
5 ProaSense setup Page 3
6 Executive Summary Deliverable 6.1 reports about the activities undertaken to fulfil the requirements from task 6.1, setting up the supporting website for integration and validation activities, investigating technologies for continuous integration activities and setting up a physical infrastructure. The first part of the deliverable refers to the need for supporting services and websites for later development, programming, integration and reporting tasks. The current commercial and open source offer of tools is analysed and conclusions have been drawn about which system to choose. It has been strived to cover most of the supporting requirements by least as effort and introducing as few different websites as possible. The system chosen, GitLab, is covering the crucial features such as code repository, issue tracking and wiki. Installation procedures, permissions and usage are covered in this part. The second part of the deliverable addresses the testing policies and tools. Testing is divided into three types, unit testing, integration testing and end-user testing. The most challenging is integration testing and most attention is dedicated to that. The third part of the deliverable addresses the issues of integration in large systems developed by different teams. We have defined the roles of continuous integration and which tools to use for this purpose. ProaSense Setup Page 4
7 TABLE OF CONTENTS 1. Introduction PURPOSE AND SCOPE STRUCTURE OF THE DELIVERABLE Code and issue management INTRODUCTION GITLAB INSTALLATION AND SETUP PERMISSION LEVELS AND ROLES ACCOUNTS CODE REPOSITORY GIT BRANCHING MODEL REPOSITORY SSH ACCESS ISSUE TRACKING ISSUE CATEGORIES ISSUE RESPONSIBLES WIKI WIKI PERMISSIONS Testing UNIT TESTING TESTING TOOLS INTEGRATION TESTING TESTING TOOLS END-USER TESTING Integration CONTINUOUS INTEGRATION AUTOMATED TESTING PHYSICAL SERVER VIRTUAL MACHINES AND PROXMOX Conclusion ProaSense Setup Page 5
8 List of figures Figure 1 - GitLab landing screen Figure 2 - GitLab project roles Figure 3 - GitLab group roles Figure 4 - Partners user accounts Figure 5 - GitLab protocol selector Figure 6 - Control panel SSH section Figure 7 - GitLab issues panel Figure 8 - Example of creating an issue Figure 9 - Jenkins management screenshot Figure 10 - Integration plan ProaSense Setup Page 6
9 List of tables Table 1 - Git and SVN feature comparison Table 2 - Creating a GitLab user Table 3 - Installing GitLab Table 4 - GitLab configuration addition Table 5 - GitLab startup Table 6 - SSH key generation command Table 7 - Issue label explanation ProaSense Setup Page 7
10 Acronyms Acronym VCS SVN CVS CI VCS CE WP SUT DOC JVM XP Explanation Version Control System Subversion Concurrent Versions System Continuous integration Version Control System Community Edition Work Package System under test Dependant on component (in context with SUT) Java Virtual Machine Extreme programming ProaSense Setup Page 8
11 1. Introduction 1.1 PURPOSE AND SCOPE In this deliverable we present the work performed in the first of five tasks of work package 6 of the ProaSense project. The main objectives of the work package are integration plans and integration execution, deployment activities, UI development as well as testing strategies, frameworks and activities supporting the software engineering process. Task 6.1 ProaSense setup is one of the first steps of the software development process. This document describes the research and deployment of a support website for code repositories, wiki, and issue tracking to be used internally by the partners. We have analysed multiple solutions and combinations and decided on a system called GitLab 1 version 6.92., which is described in Chapter 2. Issue tracking categories are also defined in this task. Testing frameworks and strategies are also researched and services are set up as part of this task, as well as continuous integration infrastructure. This is done to minimise the chance of errors in usually manual tasks and diminish the risks of failure in repetitive jobs. After analysing the currently available systems we have chosen SonarQube 2 for code quality assurance and Jenkins 3 as a continuous integration server. Infrastructure deployed for these supporting components will be used for integration in later phases of the project where component integration is scheduled, and a description of the infrastructure is shown in Chapter 4. The chosen technologies used for executing the task should be proven and used successfully in other projects, products or organisations. 1.2 STRUCTURE OF THE DELIVERABLE The deliverable is structured as follows: Chapter 2 first discusses the need and requirements for code management tools and issue trackers in a distributed development team. It provides an analysis of the current tools available for development support services and websites. Permissions and roles in the supporting systems and other policies, such as code branching are also covered by the analysis ProaSense Setup Page 9
12 Section 3 presents the need for testing and the foundation of testing in software development. Also, different levels or testing are described and they are positioned within the work packages. Section 4 discusses the need of continuous integration and other automation solutions that software developer could use to minimize the chance of error. This includes automatic deployment and automated testing procedures. The infrastructure that will be used to deploy some or all components of the project is also described. 2. Code and issue management 2.1 INTRODUCTION Code control and issue tracking is important for any project. The solutions applied to ProaSense are described in this chapter. Software controlling a repository and code sharing is called a version control system (VCS). The usual choice of VCS falls between centralized and more modern distributed systems. Typical representatives of each group are CVS, Apache Subversion (SVN) from the first, and GIT from the second. Although centralized systems are still more popular, largely due to legacy reasons, distributed systems have multiple advantages that make them a better choice for newer projects. The distributed nature gives the developers more flexibility in their own code management process (not all code is or should be pushed to the central, shared repository) and the practice generally keeps the main codebase cleaner. Also branching is preferable in an environment where multiple development teams work on multiple features. Keeping code changes in branches and controlling the merges minimizes chances of integration errors. Since the programmer has the choice to use local branches, he may also choose at which point he/she should push the code to the central repository. A connection to a central server is not needed for the programmer to use all of the features of the VCS (i.e. local branches). The disadvantage of such systems is a slightly more complicated workflow and they are more complicated to use. Table 1 - Git and SVN feature comparison Feature Git SVN Performance Generally faster than SVN Generally less Checkout method Clone entire repository and crate a Checkout a part of a repository mirror Space consumption Smaller repositories Larger repositories Locality Distributed Centralized ProaSense Setup Page 10
13 History Each branch carries its history Branches carry only changes Clients & UI s Younger, less mature (but usable) More of them, more mature Branching Regular way of work On rare occasions, introduces overhead After an analysis of the most important features of both systems (shown in Table 1) we have chosen GIT as a version control system. Nevertheless, this is only an engine, without a specific UI and user friendly options for creating users, managing branches, looking up accesses to the code base and differentiating the previous and current versions on the central repository. For this purpose a shell application is necessary, for example a system like GitHub 4. The shell should be deployed on a selfhosted server, so cloud solutions like BitBucket 5 cannot be used. GitHub has private settings for its projects but it is costly and a self-deployed version is very expensive. Three free solutions are available: GitLab 6, Gitorious 7 and Gogs 8. Gogs is still in beta phase and not considered stable enough for production use, especially not in a long running project. Gitorious is a stable project, however, lacks on features. It is missing an issue tracking system and does not support continuous integration (CI) tools (see Section 4.1). Also the development of GitLab is more active than Gitorious, which means possible bugs or faults with the software can be actively resolved. While researching GitLab it is noticed that it has issue tracking, wiki and CI integration, which is already needed for our project. Also, the recent financial injections and huge companies using it ensure its development will be stable in the future so GitLab Community Edition has been chosen. 2.2 GITLAB GitLab Community Edition (CE) is open source software providing the possibility to collaborate on code, e.g., create projects and repositories, manage access and do code reviews. GitLab CE is an onpremises software that you can install and use on your server ProaSense Setup Page 11
14 Features: Completely free and open source (MIT license 9 ) Unlimited users, collaborators and repositories Keeps code secure on private server Manage repositories, users and access permissions Perform code reviews with merge requests Extended permission system with 5 access levels and branch protection Line comments and discussions in merge requests and diffs Each project has a wiki backed up by a separate Git repository INSTALLATION AND SETUP In this chapter we will describe the process of installing the GitLab VCS. A virtual machine has been prepared with: 2 x 2GHz Intel Xeon CPUs 2GB of RAM 20GB Hard drive CentOS Linux After installing the operating system and setting up the network interfaces, a user is created for the GitLab (Table 2). useradd Gitlab su Gitlab passwd <password> Table 2 - Creating a GitLab user Next, GitLab can be installed. A number of official installation scripts are ready for several popular operating systems, currently Ubuntu, CentOs and Debian. A script for CentOs is used, shown in Table 3. Table 3 - Installing GitLab curl -O _omnibus-1.el6.x86_64.rpm sudo yum install openssh-server sudo yum install postfix sudo service postfix start sudo chkconfig postfix on sudo rpm -i Gitlab-7.3.2_omnibus-1.el6.x86_64.rpm ProaSense Setup Page 12
15 GitLab Configuration is located in the file /etc/gitlab/gitlab.rb. A proper hostname and account should be configured for the system to work properly. The configuration added to the file is shown in Table 4. Table 4 - GitLab configuration addition Gitlab_rails['gitlab_host'] = "Gitlab.nissatech.com" Gitlab_rails['gitlab_port'] = 80 Gitlab_rails['smtp_enable'] = true Gitlab_rails['smtp_address'] = <classified> Gitlab_rails['smtp_port'] = 465 Gitlab_rails['smtp_user_name'] = "noreply@nissatech.com" Gitlab_rails['smtp_password'] = <classified> Gitlab_rails['smtp_domain'] = "nissatech.com" Gitlab_rails['smtp_authentication'] = "login" Gitlab_rails['smtp_enable_starttls_auto'] = false Gitlab_rails['gitlab_ _from'] = "noreply@nissatech.com" Gitlab_rails['gitlab_support_ '] = "info@nissatech.com" After that the system can be started with the commands from Table 5. sudo Gitlab-ctl reconfigure sudo lokkit -s http -s ssh Table 5 - GitLab startup On first login, a screen like the one in Figure 1 can be seen. GitLab is available at ProaSense Setup Page 13
16 Figure 1 - GitLab landing screen PERMISSION LEVELS AND ROLES Projects on GitLab are divided into groups. Groups have independent settings in terms of permissions and projects in these groups have the same root namespace, as well as the inherited permissions. However, permissions can be overridden per project. User permissions are set up by assigning a user with a role. A user can have only those permissions that a role carries and the role settings cannot be overridden in any way. That means we cannot assign a user with a role Developer and then add just a few permissions from the Master role. Permissions each of the roles has on GitLab are shown in Figure 2, on the project level, and Figure 3 for the group level. ProaSense Setup Page 14
17 Figure 2 - GitLab project roles Figure 3 - GitLab group roles GitLab projects are created for each software project. For each Java or Python project, for example, a GitLab project is set up with its name. The URI for pushing/pulling/cloning the code is automatically generated. ProaSense Setup Page 15
18 All of the projects are put in one group, ProaSense FP7. Other groups can be created by the administrators on partner request or if the original ProaSense FP7 group gets too large for managing. Reviewers and the project officer will have the Reporter role since they will have no benefit of the remaining privileges from Figure 2 - GitLab project roles ACCOUNTS Partners have their accounts created by contacting any of the GitLab administrators. An account is created and a link for verification and password setup is sent via . Partners provided a list of accounts and desired roles themselves. Figure 4 - Partners user accounts ProaSense Setup Page 16
19 2.3 CODE REPOSITORY GIT The most important feature provided by GitLab is the shell over the central Git repository. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency BRANCHING MODEL The development model is greatly inspired by existing models used in practice. The central repo holds two main branches with an infinite lifetime: master and develop (or just dev) The master branch is a standard way of calling the main branch which always reflects the current production-ready state of the code, as soon as it is production-ready or the latest state of development when there is no production ready code. Parallel to the master branch, another branch is called develop, sometimes later than the master branch. We consider the remote develop branch to be the branch where the source code always reflects a state with the latest delivered development changes for the next release. It is also called the integration branch. Usually automatic build systems make builds from this location. When the source code in the develop branch reaches a stable point and is ready to be released, all of the changes should be merged back into master somehow and then tagged with a release number. Therefore, each time when changes are merged back into master, this is a new production release by definition. Next to the main branches master and develop, different development models use supporting branches to aid parallel development between teams preparing for production releases and to assist in quickly fixing live production problems. Unlike the main branches, these branches always have a limited lifetime, since they will be removed eventually REPOSITORY SSH ACCESS Git can support multiple protocols for code access, for security reasons the GitLab is setup only to use SSH access. That means setting up the right SSH keys for client machines for access. Only the GitLab side of the setup can be explained since the developers must set up their own IDE or Git client for functioning with a Git SSH connection, and there is a huge number of IDEs and clients. ProaSense Setup Page 17
20 Figure 5 - GitLab protocol selector It is important for the protocol selector to be on the SSH option and use the generated URI to access the code, like in Figure 5. Clients can generate their SSH key pair most easily in any Linux or Unix-based operative system using a command from Table 6. Windows users may use a tool like PuttyGen 11 for the same purpose. Table 6 - SSH key generation command ssh-keygen -t rsa -C "aleksandar.stojadinovic@nissatech.com" Upon generating the SSH keys developers should add the public key to their GitLab control panel. The key can be added in the control panel under the SSH Keys section, after clicking on the Add SSH Key button. Figure 6 - Control panel SSH section 2.4 ISSUE TRACKING An issue tracking system (or support ticket, request management or incident ticket system) is a computer software system in charge of managing and maintaining lists of issues in order to monitor their fixing or resolution. A support ticket should include vital information for the account involved and the issue encountered. The issue tracking system is a valuable source of knowledge about the most common points of failure, recurring issues and experience. Using an issue tracking system is one of the foundations of organising software projects with multiple teams and developers ProaSense Setup Page 18
21 Issue trackers can be very advanced (and very expensive as a matter of fact) and complete companies have been formed only to build and maintain them. For the ProaSense project we do not need advanced systems since there is not too many developers and the client (or reviewing) group is limited in size, so the integrated GitLab issue tracking utilities are good enough to serve the purpose ISSUE CATEGORIES The GitLab system does not differentiate between different issue types and categories (is it a request like a new visualisation graph is needed or a bug) but it utilises a labelling system so each issue can be closely described matching its purpose and criticality. The issue screen for one project (the event replay utility from D1.3 Data formats and protocols, to be precise) is shown in Figure 7. By clicking on the New Issue button the user will be presented with a screen shown in Figure 8. Some of the labels are automatically generated and a subset of them will be used for tagging new issues. The purpose of each is described in Table 7 - Issue label explanation. Table 7 - Issue label explanation Label Bug Feature Enhancement Suggestion Critical Confirmed Support Meaning The reporter has discovered a bug (or something she/he believes to be a faulty behaviour). The reporter is requesting a new feature The reporter wishes an existing feature enhanced A suggestion for the development team A complementing label to any other, the issue must be resolved as soon as possible A complementing label to any other, used by a developer to mark the issue as confirmed/reproduced The reporter has not found any adverse behaviour but needs technical support ProaSense Setup Page 19
22 Figure 7 - GitLab issues panel Figure 8 - Example of creating an issue The issue consists of a title, a textual description, assignment and labels. The title should be a very short but precise explanation of the issue ProaSense Setup Page 20
23 The description should hold a detailed explanation of what is wrong with the component or what is requested and (if it is a bug) a mandatory explanation how it is possible to reproduce the bug ISSUE RESPONSIBLES Each issue can be assigned to a developer. Unrelated to whom it is assigned to, it will be visible in the issues panel for the project and in the group. If it is not known who is the responsible for that exact functionality, the bug should be assigned to the component responsible. In case the responsible is not stated then it should be assigned to the WP responsible. If that is also unknown, assign the issue to Boban Stajic (boban.stajic@nissatech.com) or Aleksandar Stojadinovic (aleksandar.stojadinovic@nissatech.com). When the issue is assigned or reassigned the developer shall get an notification of it. Nevertheless, it is highly recommended for each development team to put an issue responsible in the README.md file in the root of the project or in the project description, so it can be easily visible on the project page. 2.5 WIKI The GitLab system also incorporates a wiki module for documentation, descriptions or any other type of document. A wiki is a rich web application which allows people to create content in a collaborative manner with other participants. In a typical wiki, content is created by writing using a simplified markup language or a rich-text editor. Gitlab wiki uses an extension of the Markdown 12 syntax, called the Gitlab flavoured 13 Markdown. The reference to it can be found in the Help 14 section of Gitlab. It does not contain a rich-text editor, so the markup must be manually entered. Partners are expected to describe their components on the wiki in a way that could help other partners using or integrating them. The description should use standardized ways of software development, i.e., UML diagrams, block and flow diagrams etc ProaSense Setup Page 21
24 2.5.1 WIKI PERMISSIONS Recalling on Figure 2 we can see that only roles of Developer, Master and Owner can manage wiki articles. With this in mind, technical partners should designate members of their teams with developer roles to create wiki content. All members of a project can read the wiki articles. ProaSense Setup Page 22
25 3. Testing Before proceeding we must define a term call System Under Test (SUT). This is an often used term in literature and used when describing tests, testing procedures and generally in any topic related to testing in software engineering. With SUT we describe a part of the system that is being tested in a procedure. Depending on the Testing type, SUT may refer to a single class or to a whole application. Also the term DOC, or Depended On Component can be found. DOC marks any entity that is required by an SUT to function. Most of the time a DOC is of the same granularity as the SUT, e.g. if the SUT is a class, then it uses other classes, if it is a module, then it collaborates with other modules. As with granularity, test can cover a method of a class, or multiple methods, or the complete functionality of one class. Those types of tests fall under the category of unit tests and the SUT is usually a class. In this phase, object mocking is more regular and the SUT is monitored as a independent entity in isolation from other components. As tests grow and incorporate more classes and intercommunication between them we are getting into the zone of integration tests. Integration tests are more comprehensive and often test a part of system, or complete functionality, the correctness of the output based on the inputs and corner-cases and they are rather looking for features that are not working, where unit tests are rather confirming something is working. Integration tests may vary in integration scope between integrating two classes to integrating complete systems. End-user testing is a separate testing type, and will mostly be covered in WP UNIT TESTING Unit testing is a fundamental part of software development and the first step in finding unobvious bugs. Writing easily testable code leads to good, decoupled architecture design since architecture with low decoupling usually proves itself as a bad design. Unit tests are mostly important for the programmer in charge of the developing component and its development team. Automatic build tools and continuous integration servers may use unit tests to choose whether a build should be executed or not, because recent changes may have affected correctness of the software by some side effect. Unit testing procedures will be carried out by technical partners on their own components in the scope of WP2-WP5. ProaSense Setup Page 23
26 3.1.1 TESTING TOOLS Unit testing puts lower level systems to testing. That is the reason a plethora of testing tools is available for different programming languages, frameworks and with different features. Based on an inquiry to the technical partners a list of proposed unit testing tools is gathered: Java/JVM 15 : TestNG 16, JUnit 17, ScalaTest 18, Clojure 19 integrated unit tests Node.js: node-unit 20 C++: xunit++ 21, googletest 22 Mocking tools: Mockito 23 All tools are free to use in commercial environments INTEGRATION TESTING Integration testing is the most challenging part of the testing process in the ProaSense project. Integration tests in ProaSense should test integration between different components. This is underlined by the fact that integration testing cannot be defined end-to-end because each project lives a separate life and has its own integration issues. To recall, integration testing is a testing process which tests complete module functionalities, communication between modules, and aims to find faults in the system functioning. In ProaSense integration testing will be applied on multiple components and communication between them and the correctness of the result. Since the middleware used will be a broker or a similar pub/sub component which most of the components will be using, communication can be easily monitored on certain topics or queues. This allows us to monitor the communication correctness itself. Using the same mechanism we can also look upon the data that is being transferred and check the payload. A challenging part of this testing procedure is the asynchronous nature of the components and the testing will have to await the messages in the right sequence. Web services would have to be tested in a black box manner or in combination with a database (or databases) the service is interacting with to prove its proper functioning ProaSense Setup Page 24
27 However, parallel development may cause issues with components not being available at the same and the DOC s of the SUT s are not ready. This can be solved in two ways, the big bang testing model or the incremental testing model. In the big bang testing model the system is being tested only when all of the components are finished and everything is almost production ready. This has its own issues because this does not aid reusability and in case of peculiar errors it is hard to find the root cause. On the other hand, incremental analysis proposes a model where components are tested as soon as they are ready and available. If component X is finished but depends on a component Y which is not, the component Y will be replaced with a stub with the same interface and a simulated behaviour known in advanced, so component X can be tested without the risk of Y being faulty. An alternative to the incremental approach is the bottom-up approach, but it is not always possible to implement it. In this approach the first components to be tested are the lowest level ones which do not depend upon any component. If lower level components can only be tested when integrated in another component, than a simulating component called a driver is created which has the interface of the final component it mimics, but its only purpose is to invoke its dependencies and therefore test them with predefined sets of data TESTING TOOLS Strange as it may seem, there are no popular tools explicitly declared as end-to-end integration testing tools. Reason for this may be the overall divergence of big systems implemented with multiple integration techniques so it is hard to create a tool which fits all needs. JUnit has been used much earlier; however it is an old tool which is less regularly updated than TestNG. The most popular unit testing tools are also being used for creating integration tests. Since ProaSense is mainly being developed in technologies based on the JVM, TestNG has promoted itself as a tool capable for integration testing, as well as unit tests. 3.2 END-USER TESTING End-user testing, or user acceptance testing, consists of verifying that a software solution satisfies the user. It is not considered system testing in term that it does not look for bugs or stability directly, but rather is there to ensure that the solution will work for the user, i.e., test that the user accepts the solution in the state and condition presented to the user. This is often equivalent to beta testing, a phase where no more innovations are added. The project is only tuned in that manner that it complies with the requirements of the user, while the product has coarsely been developed in ProaSense Setup Page 25
28 accordance with them in previous phases. Users of the system perform tests in line with what would occur in real life scenarios. This testing should be undertaken by a domain expert from the use-case partners, i.e. MHWirth and Hella Saturnus. The requirements to which the ProaSense system will be compared to are developed in work package 7, along with the evaluation technique. The UAT acts as a final verification of the required business functionality and proper functioning of the system, emulating real-world usage conditions on behalf of the consuming clients (Hella and MHWirth). If the software works as required and without issues during normal use, one can reasonably extrapolate the same level of stability in production. User tests, usually performed by clients or by end-users, do not normally focus on identifying simple problems such as spelling errors and cosmetic problems, nor showstopper defects, such as software crashes; testers and developers previously identify and fix these issues during earlier unit testing, integration testing, and system testing phases. As well as developing the requirements, the end-user testing will also occur in WP7 in two iterations and will be done by end-user partners. ProaSense Setup Page 26
29 4. Integration 4.1 CONTINUOUS INTEGRATION Continuous integration (CI) is a software engineering practice of merging all developer working copies with a shared mainline several times a day or on certain hooks. It was adopted as part of extreme programming (XP), which did advocate multiple integrations a day, perhaps as many as tens a day. The main aim of CI is to prevent integration problems, referred to as "integration hell" in early descriptions of XP. CI was originally intended to be used in combination with automated unit tests written through the practices of test-driven development. Initially this was conceived of as running all unit tests in the developer's local environment and verifying they all passed before committing to the mainline. This helps avoid one developer's work in progress breaking another developer's copy and reducing the chance of repetitive tasks. If necessary, partially complete features can be disabled before committing using feature toggles. Modern applications of the concept introduced build servers, which automatically run the tests or scripts periodically or on commit hooks. Today, many organisations have adopted CI without adopting the extreme programming paradigm. Organisations using CI typically use a build server to implement continuous processes of applying quality control in general small pieces of effort, applied frequently. In addition to running the unit and integration tests, such processes run additional static and dynamic tests, measure and profile performance, extract and format documentation from the source code and facilitate manual QA processes. This continuous application of quality control aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development. This is very similar to the original idea of integrating more frequently to make integration easier, only applied to QA processes. For the ProaSense project we have selected Jenkins 24 continuous integration server, whose management screen is shown in Figure 9. Some of the partners already use it in their everyday work so there will be no overhead with introducing it into the project. It supports a wide range of 24 ProaSense Setup Page 27
30 languages, IDE s or platforms 25 and, based on the survey filled out by the partners, it is versatile enough to support the partner s needs. Figure 9 - Jenkins management screenshot AUTOMATED TESTING Along with Jenkins CI server we have chosen to install a tool called SonarQube which is a QA management, web-based application. It is useful as a supplement to using Jenkins CI with its advanced dashboard which can track different metrics of code quality or test results. Also it can apply different analytics or code coverage tools to give a high-level overview of the code. 4.2 PHYSICAL SERVER Two machines each with four Intel Xeon i5 octa-core processors, 160GB of RAM and 3TB of storage space have been dedicated for the development purposes of ProaSense. These resources are being utilized by creating para-virtualized machines with hypervisor software called Proxmox ProaSense Setup Page 28
31 4.3 VIRTUAL MACHINES AND PROXMOX The machines mentioned in section 4.2 are utilized via virtual machines. The virtual machines are level 1 virtualized (para-virtualized, bare-bone virtualized) which means that they use the operative system kernel of the host hypervisor (Proxmox has a Linux kernel) and provide services to applications from that kernel, not their own. That leaves a much smaller memory, disk and CPU footprint and overhead per virtual machine. Partners do not need to have any contact with the virtualization layer as Nissatech is responsible for creating the virtual machines on partner demand by the specification partners provide ProaSense Setup Page 29
32 5. Conclusion This document described investigating, analysis and deployment of tools and solutions that a project like ProaSense needs for proper development. Those solutions include, as mentioned, are integration and validation supporting websites, code and issue repositories, modern continuous integration tools and physical infrastructure. We believe that the selection of tools described in this document fulfils all the requirements for future project development. Most of the components in ProaSense will be developed in two cycles, shown in Figure 10, allowing incremental upgrades and advancement within the project. Integration will also follow up on that principle, introducing more optimal solutions in the second phase, based on the lessons learned from the first phase. The supporting systems mentioned mostly in the first part of this deliverable will completely support both cycles of the integration plan. Figure 10 - Integration plan ProaSense Setup Page 30
Content. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
More informationPracticing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation
Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically
More informationSoftware Construction
Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration
More informationContinuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
More informationContinuous Integration
Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal
More informationStriderCD Book. Release 1.4. Niall O Higgins
StriderCD Book Release 1.4 Niall O Higgins August 22, 2015 Contents 1 Introduction 3 1.1 What Is Strider.............................................. 3 1.2 What Is Continuous Integration.....................................
More informationContinuous integration End of the big bang integration era
Continuous integration End of the big bang integration era Patrick Laurent Partner Technology & Enterprise Applications Deloitte Mario Deserranno Manager Technology & Enterprise Applications Deloitte The
More informationIntroduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
More informationSoftware Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
More informationSOFTWARE DEVELOPMENT BASICS SED
SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2
More informationIn depth study - Dev teams tooling
In depth study - Dev teams tooling Max Åberg mat09mab@ Jacob Burenstam Linder ada09jbu@ Desired feedback Structure of paper Problem description Inconsistencies git story explanation 1 Introduction Hypotheses
More informationContinuous Integration and Delivery at NSIDC
National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research
More informationDelivering Quality in Software Performance and Scalability Testing
Delivering Quality in Software Performance and Scalability Testing Abstract Khun Ban, Robert Scott, Kingsum Chow, and Huijun Yan Software and Services Group, Intel Corporation {khun.ban, robert.l.scott,
More informationSoftware Testing. Knowledge Base. Rajat Kumar Bal. Introduction
Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch
More informationSysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
More informationContinuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester
Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features
More informationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make
More informationThe Importance of Continuous Integration for Quality Assurance Teams
The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance
More informationBlueJ Teamwork Tutorial
BlueJ Teamwork Tutorial Version 2.0 for BlueJ Version 2.5.0 (and 2.2.x) Bruce Quig, Davin McCall School of Engineering & IT, Deakin University Contents 1 OVERVIEW... 3 2 SETTING UP A REPOSITORY... 3 3
More informationGENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public
GENiC Deliverable D5.1 Development & Integration guidelines including integration environment & means This project has received funding from the European Union s Seventh Framework Programme for research,
More informationCe document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.
Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test. 01 39 20 13 55 info@precilog.com www.precilog.com End to End Process Testing & Validation:
More informationGitLab as an Alternative Development Platform for Github.com
Platform for Github.com LinuxCon Europe 2014 October 13, 2014 Ralf Lang Linux Consultant / Developer lang@b1-systems.de - Linux/Open Source Consulting, Training, Support & Development Introducing B1 Systems
More informationSource Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
More informationD37.2 - Test Strategy
D37.2 - Test Strategy Client Testbed Document Identification Date 16/05/2013 Status Final Version 1.0 Related SP / WP Related Deliverable(s) Lead Participant Contributors SP3 / WP37 Document Reference
More informationHow To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)
The Journey of Testing with Stubs and Proxies in AWS Lucy Chang lucy_chang@intuit.com Abstract Intuit, a leader in small business and accountants software, is a strong AWS(Amazon Web Services) partner
More informationThe Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC
Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate
More informationImplementing Continuous Integration Testing Prepared by:
Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...
More informationTesting Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic
Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic The challenge When building distributed, large-scale applications, quality assurance (QA) gets increasingly
More informationGit Fusion Guide 2015.3. August 2015 Update
Git Fusion Guide 2015.3 August 2015 Update Git Fusion Guide 2015.3 August 2015 Update Copyright 1999-2015 Perforce Software. All rights reserved. Perforce software and documentation is available from http://www.perforce.com/.
More informationSOA Solutions & Middleware Testing: White Paper
SOA Solutions & Middleware Testing: White Paper Version 1.1 (December 06, 2013) Table of Contents Introduction... 03 Solutions Testing (Beta Testing)... 03 1. Solutions Testing Methods... 03 1.1 End-to-End
More informationSoftware Configuration Management and Continuous Integration
1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish
More informationPARALLELS SERVER 4 BARE METAL README
PARALLELS SERVER 4 BARE METAL README This document provides the first-priority information on Parallels Server 4 Bare Metal and supplements the included documentation. TABLE OF CONTENTS 1 About Parallels
More informationWe (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and
We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a
More informationHow To Manage A Multi Site In Drupal
http://platform.sh sales@platform.sh MODERNISING DRUPAL MULTI-SITE IMPLEMENTATIONS Drupal multi-site is easily re-architected to run each site in its own containerised environment. It s better and it costs
More informationE-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote 2011. SSA-U Appendix 5 Testing and Approval Project: E-vote 2011
E-vote 2011 SSA-U Appendix 5 Testing and Approval Project: E-vote 2011 Change log Version Date Author Description/changes 0.1 26.10.09 First version Page 1 CONTENT 1. INTRODUCTION 3 2. TESTING PROCESS
More informationBringing Value to the Organization with Performance Testing
Bringing Value to the Organization with Performance Testing Michael Lawler NueVista Group 1 Today s Agenda Explore the benefits of a properly performed performance test Understand the basic elements of
More informationLife Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs
Life Cycle Management for Oracle Data Integrator 11 & 12 Increase productivity Stop wasting your time doing things maually by automating every step in your project s Life Cycle At lower cost Get a 30%
More informationRed Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform
More informationRed Hat Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.
More informationZero-Touch Drupal Deployment
Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation
More informationVersion Control using Git and Github. Joseph Rivera
Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally
More informationSECTION 4 TESTING & QUALITY CONTROL
Page 1 SECTION 4 TESTING & QUALITY CONTROL TESTING METHODOLOGY & THE TESTING LIFECYCLE The stages of the Testing Life Cycle are: Requirements Analysis, Planning, Test Case Development, Test Environment
More informationVersion Control! Scenarios, Working with Git!
Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not
More informationGetting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
More informationBasic Unix/Linux 1. Software Testing Interview Prep
Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a
More informationLevels of Software Testing. Functional Testing
Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies
More information18.2 user guide No Magic, Inc. 2015
18.2 user guide No Magic, Inc. 2015 All material contained here in is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by any means. All information
More informationOnCommand Performance Manager 1.1
OnCommand Performance Manager 1.1 Installation and Setup Guide For Red Hat Enterprise Linux NetApp, Inc. 495 East Java Drive Sunnyvale, CA 94089 U.S. Telephone: +1 (408) 822-6000 Fax: +1 (408) 822-4501
More informationIntroduction to Programming Tools. Anjana & Shankar September,2010
Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue
More informationInternational Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] Survey on Automation Testing Tools for Mobile Applications Dr.S.Gunasekaran 1, V. Bargavi 2 1 Department
More informationLoad and Performance Load Testing. RadView Software October 2015 www.radview.com
Load and Performance Load Testing RadView Software October 2015 www.radview.com Contents Introduction... 3 Key Components and Architecture... 4 Creating Load Tests... 5 Mobile Load Testing... 9 Test Execution...
More informationMike Chyi, Micro Focus Solution Consultant May 12, 2010
Mike Chyi, Micro Focus Solution Consultant May 12, 2010 Agenda Load Testing Overview, Best Practice: Performance Testing with Diagnostics Demo (?), Q&A Load Testing Overview What is load testing? Type
More informationORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK
ORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK KEY FEATURES PROVISION FROM BARE- METAL TO PRODUCTION QUICKLY AND EFFICIENTLY Controlled discovery with active control of your hardware Automatically
More informationContinuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.
1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract
More informationTutorial: Load Testing with CLIF
Tutorial: Load Testing with CLIF Bruno Dillenseger, Orange Labs Learning the basic concepts and manipulation of the CLIF load testing platform. Focus on the Eclipse-based GUI. Menu Introduction about Load
More informationSoftware Development In the Cloud Cloud management and ALM
Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect
More informationWhite paper: Unlocking the potential of load testing to maximise ROI and reduce risk.
White paper: Unlocking the potential of load testing to maximise ROI and reduce risk. Executive Summary Load testing can be used in a range of business scenarios to deliver numerous benefits. At its core,
More informationVMware Server 2.0 Essentials. Virtualization Deployment and Management
VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
More informationDAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014
DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required
More informationRegistration and management system software available as open source
www.visceral.eu Registration and management system software available as open source Deliverable number D1.4 Dissemination level Public Delivery date 5 May 2015 Status Author(s) Final Oscar Alfonso Jiménez
More informationALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013
ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013 Description This three-day, instructor-led course provides students with the knowledge and skills to effectively use the Application
More informationCloud Security with Stackato
Cloud Security with Stackato 1 Survey after survey identifies security as the primary concern potential users have with respect to cloud computing. Use of an external computing environment raises issues
More informationRally Installation Guide
Rally Installation Guide Rally On-Premises release 2015.1 rallysupport@rallydev.com www.rallydev.com Version 2015.1 Table of Contents Overview... 3 Server requirements... 3 Browser requirements... 3 Access
More informationVersion Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
More informationCopyright www.agileload.com 1
Copyright www.agileload.com 1 INTRODUCTION Performance testing is a complex activity where dozens of factors contribute to its success and effective usage of all those factors is necessary to get the accurate
More informationPipeline Orchestration for Test Automation using Extended Buildbot Architecture
Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Sushant G.Gaikwad Department of Computer Science and engineering, Walchand College of Engineering, Sangli, India. M.A.Shah
More informationA quantitative comparison between xen and kvm
Home Search Collections Journals About Contact us My IOPscience A quantitative comparison between xen and kvm This content has been downloaded from IOPscience. Please scroll down to see the full text.
More informationCPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
More informationSoftware infrastructure for Java development projects
Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical
More informationSmarter Balanced Assessment Consortium. Recommendation
Smarter Balanced Assessment Consortium Recommendation Smarter Balanced Quality Assurance Approach Recommendation for the Smarter Balanced Assessment Consortium 20 July 2012 Summary When this document was
More informationAPPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS
APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS Oracle Application Management Suite for Oracle E-Business Suite delivers capabilities that helps to achieve high levels of application
More informationBest Overall Use of Technology. Jaspersoft
Best Overall Use of Technology Jaspersoft Kerstin Klein Manager, Engineering Processes/ Infrastructure, Jaspersoft From requirements to release QA centric development From Requirement to Release QA-Centric
More informationSTeP-IN SUMMIT 2007. International Conference On Software Testing
STeP-IN SUMMIT 2007 International Conference On Software Testing Implementation of Continuous Integration and Automated testing of a large scale web based application for a European by Amandweep Suresh
More informationVersion control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison
Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin
More informationNXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms
NXTware Remote Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms Gerrit Woertman CTO OpenVMS Business Generating Software gerrit@bgsoftware.nl +31 6 51341600 Introduction
More informationGlobal Software Change Management for PVCS Version Manager
Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.
More informationThe Real Challenges of Configuration Management
The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development
More informationApplication Lifecycle Management Using Visual Studio 2013 (SCRUM)
Course Code: QAALMS13 Vendor: Microsoft Course Overview Duration: 3 RRP: 2,009 Application Lifecycle Management Using Visual Studio 2013 (SCRUM) Overview This three-day, instructor-led course provides
More informationApplication Performance Testing Basics
Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free
More informationTesting Tools Content (Manual with Selenium) Levels of Testing
Course Objectives: This course is designed to train the fresher's, intermediate and professionals on testing with the concepts of manual testing and Automation with Selenium. The main focus is, once the
More informationAgile Software Factory: Bringing the reliability of a manufacturing line to software development
Agile Software Factory: Bringing the reliability of a manufacturing line to software development Today s businesses are complex organizations that must be agile across multiple channels in highly competitive
More informationPragmatic Version Control
Extracted from: Pragmatic Version Control using Subversion, 2nd Edition This PDF file contains pages extracted from Pragmatic Version Control, one of the Pragmatic Starter Kit series of books for project
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationEucalyptus 3.4.2 User Console Guide
Eucalyptus 3.4.2 User Console Guide 2014-02-23 Eucalyptus Systems Eucalyptus Contents 2 Contents User Console Overview...4 Install the Eucalyptus User Console...5 Install on Centos / RHEL 6.3...5 Configure
More informationContinuous Integration and Delivery. manage development build deploy / release
Continuous Integration and Delivery manage development build deploy / release test About the new CI Tool Chain One of the biggest changes on the next releases of XDK, will be the adoption of the New CI
More informationBuilding, testing and deploying mobile apps with Jenkins & friends
Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really
More informationVersion control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
More informationENTERPRISE-CLASS MONITORING SOLUTION FOR EVERYONE ALL-IN-ONE OPEN-SOURCE DISTRIBUTED MONITORING
ENTERPRISE-CLASS MONITORING SOLUTION FOR EVERYONE ALL-IN-ONE OPEN-SOURCE DISTRIBUTED MONITORING 1 CONTENTS About Zabbix Software... 2 Main Functions... 3 Architecture... 4 Installation Requirements...
More informationService Virtualization:
Service Virtualization: Reduce the time and cost to develop and test modern, composite applications Business white paper Table of contents Why you need service virtualization 3 The challenges of composite
More informationCamilyo APS package by Techno Mango Service Provide Deployment Guide Version 1.0
Camilyo APS package by Techno Mango Service Provide Deployment Guide Version 1.0 Contents Introduction... 3 Endpoint deployment... 3 Endpoint minimal hardware requirements:... 3 Endpoint software requirements:...
More informationServers. Servers. NAT Public Subnet: 172.30.128.0/20. Internet Gateway. VPC Gateway VPC: 172.30.0.0/16
.0 Why Use the Cloud? REFERENCE MODEL Cloud Development April 0 Traditionally, deployments require applications to be bound to a particular infrastructure. This results in low utilization, diminished efficiency,
More informationFrom Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development
From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development Introduction Today s developers are under constant pressure to launch killer apps and release enhancements as
More informationAutomation and Virtualization, the pillars of Continuous Testing
HP Software: Apps meet Ops 2015 Automation and Virtualization, the pillars of Continuous Testing Jerry Saelemakers/ April 2 nd, 2015 Today s business initiatives demand a balance between velocity and quality
More informationSyncplicity On-Premise Storage Connector
Syncplicity On-Premise Storage Connector Implementation Guide Abstract This document explains how to install and configure the Syncplicity On-Premise Storage Connector. In addition, it also describes how
More informationSoftware Configuration Management Best Practices for Continuous Integration
Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software
More informationPerformance Test Process
A white Success The performance testing helped the client identify and resolve performance bottlenecks which otherwise crippled the business. The ability to support 500 concurrent users was a performance
More informationThe Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a
Technical White Paper: WEb Load Testing To perform as intended, today s mission-critical applications rely on highly available, stable and trusted software services. Load testing ensures that those criteria
More informationOracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper October 2010
Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide An Oracle White Paper October 2010 Disclaimer The following is intended to outline our general product direction.
More informationMigration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module
Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module June, 2015 WHITE PAPER Contents Advantages of IBM SoftLayer and RackWare Together... 4 Relationship between
More informationThe Process Guidelines should be used in conjunction with the standard OUM process guidelines when using Testing and Quality Management Tools.
OUM 6.3 Testing and Quality Management Tools Supplemental Guide Method Navigation Current Page Navigation TESTING AND QUALITY MANAGEMENT TOOLS SUPPLEMENTAL GUIDE This document contains OUM supplemental
More information