Context-based device testing

US10521335B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10521335-B2
Application numberUS-201815882490-A
CountryUS
Kind codeB2
Filing dateJan 29, 2018
Priority dateJan 29, 2018
Publication dateDec 31, 2019
Grant dateDec 31, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Software applications are tested in different contexts, such as on different devices and under different conditions. During initial testing of an application, conditions of contexts are selected randomly, and the application is tested in each resulting context. After obtaining results from a sufficient number of contexts, the results are analyzed to create a predictive model indicating, for any postulated context, whether testing of the application is most likely to fail or to otherwise produce negative test results. The model is then analyzed to identify contexts that are most likely to produce negative results or failures, and those contexts are emphasized in subsequent application testing.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: obtaining a test procedure for a test of an application, wherein the test procedure (a) provides input to the application, (b) determines whether the application passes the test, and (c) monitors one or more performance parameters associated with the application; performing multiple iterations to produce multiple test records, wherein each iteration comprises: randomly selecting one or more conditions of a device state; configuring a device to have the device state; initiating the test procedure to perform the test of the application; and recording a test record, the test record indicating (a) the device state, (b) whether the application passed the test, and (c) a context score based at least in part on the one or more performance parameters; utilizing the multiple test records to create a predictive model that predicts whether a postulated device state will cause the test of the application to fail; identifying multiple postulated device states that the predictive model predicts will cause the test of the application to fail; and performing further testing using each of the multiple postulated device states. 2. The method of claim 1 , wherein the utilizing comprises using machine learning to create the predictive model based at least in part on the multiple test records. 3. The method of claim 1 , wherein the utilizing comprises using a Monte Carlo method to create the predictive model based at least in part on the multiple test records. 4. The method of claim 3 , wherein randomly selecting the one or more conditions comprises randomly selecting a condition variable from a probability distribution of the condition variable. 5. The method of claim 1 , further comprising performing the multiple iterations with respect to multiple devices, wherein the test record of the multiple test records indicates, for the device of the multiple devices, (a) the device state, (b) whether the application passed the test, and (c) the context score based at least in part on the one or more performance parameters. 6. The method of claim 1 , wherein the device state and the postulated device states each comprise one or more of: a processor type; a processor speed; an amount of processor resources available to the application; a number of processor cores available to the application; a device type; a display type; a device model; a display aspect ratio; a display resolution; an operating system version; a type of network communications available to the application; a quality of network communications available to the application; a strength of a wireless communications signal; a number of applications that are running; an amount of device memory that is available for use by the application; a battery state; or availability of device peripherals. 7. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform actions comprising: performing multiple test procedures to produce multiple test results, wherein a test procedure comprises: randomly selecting, as a randomly selected device state, a device state; configuring a device to have the randomly selected device state; performing a test of an application; determining a context score based at least in part on one or more performance parameters of the application during the test; and recording a test result, the test result indicating the randomly selected device state under which the test was performed, the context score, and whether the application passed the test; utilizing the multiple test results to create a predictive model that predicts a predictive test result for a postulated device state; identifying multiple postulated device states that the predictive model predicts will result in a failing context score and negative test results; and performing additional test procedures based at least in part on the multiple postulated device states, to produce additional test results. 8. The one or more non-transitory computer-readable media of claim 7 , wherein performing the multiple test procedures further comprises performing multiple iterations to produce the multiple test results. 9. The one or more non-transitory computer-readable media of claim 7 , the actions further comprising testing the application on the device in one or more of the multiple postulated device states. 10. The one or more non-transitory computer-readable media of claim 7 , the actions further comprising testing on another device in one or more of the multiple postulated device states. 11. The one or more non-transitory computer-readable media of claim 7 , wherein the utilizing comprises using machine learning to create the predictive model. 12. The one or more non-transitory computer-readable media of claim 7 , wherein the utilizing comprises using a Monte Carlo method to create the predictive model. 13. A method comprising: producing multiple test results, wherein producing a test result comprises: randomly selecting, as one or more randomly selected test contexts, one or more test contexts; performing a test of an application under each of the one or more randomly selected test contexts; and recording which of the one or more randomly selected test contexts the test was performed under, a context score based at least on one or more performance parameters associated with the application, and whether the application passed the test, for each of the multiple test results; utilizing the multiple test results to predict postulated contexts other than the tested contexts that are likely to cause the test to produce negative results; and performing further testing with one or more of the postulated contexts. 14. The method of claim 13 , wherein producing each test result comprises performing multiple iterations. 15. The method of claim 13 , wherein each of the tested contexts and the postulated contexts includes a condition under which the test is performed. 16. The method of claim 13 , wherein each of the tested contexts and the postulated contexts includes a device state with which the test is performed. 17. The method of claim 13 , wherein the utilizing comprises using machine learning to identify the postulated contexts. 18. The method of claim 13 , wherein the utilizing comprises using a Monte Carlo method to identify the postulated contexts. 19. The one or more non-transitory computer-readable media of claim 7 , the actions further comprising: utilizing the additional test results to improve the predictive model that predicts the test result for a postulated device state. 20. The method of claim 13 , wherein the one or more randomly selected test contexts include one or more inputs from a test controller that change, during a test procedure, at least a test context of the one or more randomly selected test.

Assignees

Inventors

Classifications

  • Machine learning · CPC title

  • Probabilistic graphical models, e.g. probabilistic networks · CPC title

  • for test results analysis · CPC title

  • for test design, e.g. generating new test cases · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10521335B2 cover?
Software applications are tested in different contexts, such as on different devices and under different conditions. During initial testing of an application, conditions of contexts are selected randomly, and the application is tested in each resulting context. After obtaining results from a sufficient number of contexts, the results are analyzed to create a predictive model indicating, for any…
Who is the assignee on this patent?
T Mobile Usa Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 31 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).