IP Library › Granted Patent US 9,892,015
Granted Patent B2
US 9,892,015 · App. 14/822,001 · Granted Feb 13, 2018

Integration and automation of build and test in a customized computing system

Inventors: Shailesh Nikam (Bellevue, WA); Satish J. Thomas (Sammamish, WA); Syed A. Hamid (Redmond, WA); Robert Badawy (Redmond, WA); Annaji Sharma Ganti (Bellevue, WA); Ajay Kumar Jha (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/3608G06F8/71G06F11/3664G06F11/3672G06F2009/45562
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,892,015
App. No.
14/822,001
Granted
Feb 13, 2018
Kind
B2
Abstract

A user interaction is detected which indicates that the user wishes to build and test a customized computing system. A build system is automatically generated to build models in the customized system. Test code is automatically generated and included as part of source code for the build. When a build is triggered, the build is generated and automatically tested. Build and test execution results are surfaced for user visualization.

Claims (57)

1. A computing system, comprising:

a processor;

memory, coupled to the processor, storing instructions that, when executed by the processor, provide a user interface component, a build and test automation system, and a build and test control system;

the user interface component configured to detect a developer input to download, to a development system, a pre-configured build component;

the build and test automation system configured to automatically download the pre-configured build component to the development system in response to the detected developer input, automatically set up a development environment in the development system, and automatically migrate a customized computing system to the development environment;

the build and test control system configured to automatically access the pre-configured build component to set up a build environment machine on the development system to build the customized system; and

wherein the build and test automation system is configured to automatically run a test on the customized system.

2. The computing system of claim 1 wherein the build and test automation system is configured to provision a development environment virtual machine in the development environment, and configure the development environment virtual machine as a development environment machine.

3. The computing system of claim 2 wherein the user interface component is configured to detect the developer input as a developer input to download a pre-configured test component.

4. The computing system of claim 3 wherein the build and test automation system comprises:

a test computing system that automatically downloads a pre-configured test component.

5. The computing system of claim 4 wherein the build test and automation system comprises:

a build execution and configuration system that automatically sets up the build environment machine.

6. The computing system of claim 1 wherein the build execution and configuration system automatically provisions the build environment machine and configures the build environment machine.

7. The computing system of claim 6 wherein the build execution and configuration system comprises:

a build definition component that pre-configures a build script;

a build controller set-up component that generates a build controller; and

a build agent set-up component that generates a build agent controlled by the build controller to execute the build script.

8. The computing system of claim 7 and further comprising:

a test computing system that integrates the test component into the build environment.

9. The computing system of claim 8 wherein the user interface component detects developer customizations to the computing system to be customized to obtain the customized computing system, and further comprising:

a task recorder that records a task performed by the built customized computing system to obtain a task recording.

10. The computing system of claim 8 and further comprising:

a test code generator component that generates test code for the task from the task recording, and integrates the test code into source code for the customized computing system.

11. A computer implemented method, comprising:

detecting a developer input to download, to a development system, a pre-configured set of build components;

automatically downloading the set of pre-configured build components to the development system in response to the detected developer input;

automatically setting up a development environment in the development system;

automatically migrating a computing system to be customized to the development environment;

automatically accessing the set of pre-configured build components to set up a build environment on the development system;

automatically triggering the build environment to build the customized computing system; and

automatically performing a test on the customized computing system after the build environment has built the customized computing system.

12. The computer implemented method of claim 11 wherein automatically setting up a development environment comprises:

provisioning a development environment virtual machine in the development environment; and

configuring the development environment virtual machine as a development environment machine.

13. The computer implemented method of claim 12 wherein detecting further comprises:

detecting the developer input to download a pre-configured test component.

14. The computer implemented method of claim 13 wherein automatically downloading comprises:

automatically downloading the pre-configured test component.

15. The computer implemented method of claim 14 and further comprising:

automatically setting up the build environment.

16. The computer implemented method of claim 15 wherein automatically setting up the build environment comprises:

automatically provisioning a build environment virtual machine; and

automatically configuring the virtual machine as a build environment virtual machine.

17. The computer implemented method of claim 16 wherein automatically setting up the build environment comprises:

pre-configuring a build script;

generating a build controller; and

generating a build agent controlled by the build controller to execute the build script.

18. The computer implemented method of claim 17 and further comprising:

integrating the test component into the build environment.

19. A computing system, comprising:

a processor;

memory, coupled to the processor, storing instructions that, when executed by the processor, provide a user interface component, a build system, a build and test control system, and a test computing system;

the user interface component configured to detect a developer input to download, to a development system, a pre-configured build component;

the build system configured to automatically download the pre-configured build component to the development system in response to the detected developer input, automatically set up a development environment in the development system, and automatically migrate a computing system to be customized to the development environment;

the build and test control system configured to automatically access the pre-configured build component to set up a build environment on the development system that detects a build trigger and automatically builds a customized computing system to be tested using a pre-configured test component; and

the test computing system configured to automatically download the pre-configured test component in response to the developer input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: NIKAM, SHAILESH; THOMAS, SATISH J.; HAMID, SYED A.; BADAWY, ROBERT; GANTI, ANNAJI SHARMA; JHA, AJAY KUMAR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036288/0535 →
Continuity (2)
Provisional Application 62133765 · Mar 16, 2015
Related Publication 20160274994A1 · Sep 22, 2016