locked
Testing Failed... RRS feed

  • Question

  • I have an application that failed testing but there is no indication as to why. Any chance that the AppHub will let me know so I can address it?
    Wednesday, October 13, 2010 12:20 AM

All replies

  • If you go to your app's details page, then open the Action drop-down menu, you will see an option that says something like, "Test report" or similar (I can't see it now, so going from memory) at the bottom. Select that and it should give you a PDF with a full report of why the testing fails along with the relevant portion of the certification requirements doc, or notes from the tester if it failed due to a crash.
    Wednesday, October 13, 2010 8:15 PM
  • My submission status is testing failed too but when I choose "view test results" option in the action field of my app detail page. It doesn't show anything, No report, No PDF, just a blank page.
    Thursday, October 14, 2010 7:36 AM
  • When resubmitting is there anything that needs to be changed besides XAP? for example - version number or image OR anything.. or everything can be kept as is?
    Thursday, October 14, 2010 11:48 PM
  • Thank you to everyone who posted cause I was about to give up for tonight until I found this!  Thank you, I now know what I have to fix cause you helped me find the reasons for my failed submission.

    Oh, and the first time I tried it, I got nothing back to.  I had to do it two more times, ya weird I know. But I eventually did get the PDF.
    Friday, October 15, 2010 6:16 AM
  • I've tried to view my test results for a whole night. All I have until night is a blank page. :) Anyway, I assume that we failed because the screenshots so I will try to submit my app and my screenshots again tonight.
    Friday, October 15, 2010 9:54 AM
  • You need to change the file version of your app in AssemblyInfo.cs. Ginny Caughey
    Friday, October 15, 2010 10:59 AM
  • try viewing the app hub in IE, i have noticed some issues (blank pages, button unresponsiveness) in Chrome for example.
    Tuesday, October 19, 2010 4:20 AM
  • Can you try viewing the doc in IE8?
    Tuesday, October 19, 2010 12:25 PM
  • I get blank page for my test results report. Tried 2,3 or even 100 times. Nothing. Can anyone share common failure causes?
    Friday, October 22, 2010 9:41 PM
  • Microsoft has stickied a post at the top of this forum that answers your question -> http://forums.create.msdn.com/forums/t/63499.aspx
    Friday, October 22, 2010 11:00 PM
  • Microsoft has stickied a post at the top of this forum that answers your question -> http://forums.create.msdn.com/forums/t/63499.aspx


    Thanks George!
    Friday, October 22, 2010 11:05 PM
  • I have finally received my test results in an email. Apparently, the application crashes during phone call or SMS

    and doesn’t resume after the call is finished.


    I had tested my application for interruptions in the emulator using Start, Back and Search buttons but couldn’t

    test for call interruption.


    Can anyone please look at my code and see if you can find any obvious issues? I would really appreciate help from

    the lucky people who have their apps approved. This code handles emulator interruptions just fine. When I am in

    the game and hit Start button it takes me to Tiles screen and when I hit back it resume from where I was

    interrupted. Not sure how interruption during a call is different.


    Register Event:
    ---------------------------------
    Microsoft.Phone.Shell.PhoneApplicationService service = Microsoft.Phone.Shell.PhoneApplicationService.Current;
                service.Activated += new EventHandler<Microsoft.Phone.Shell.ActivatedEventArgs>(game_activated);

     

    Handlers:
    --------------------------------
    protected override void OnDeactivated(object sender, EventArgs args)
    {           
           gameManager.Dehydrate();
           UnloadContent();
           base.OnDeactivated(sender, args);
    }
      
    protected void game_activated(object sender, Microsoft.Phone.Shell.ActivatedEventArgs e)
    {
           gameManager.IsActivated = true;
           gameManager.ResumeFromInterruption();
    }

     

     

    Saturday, October 23, 2010 9:12 AM
  • You may be taking too long in your game_activated and/or OnDeactivated functions. If you take more than a few seconds, the OS will kill your app. This is troublesome because if you use either the XmlSerializer or DataContractSerializer, you'll notice it's quite slow when saving to isolated storage (that's what the system does when you save to the state dictionary for silverlight applications too).

    My suggestion: While your application is running, keep your application state stored in isolated storage and up to date. Then when your application is tombstoned, you only have to save a small amount of state data (or none). 

    Then, in your game_activated function, don't deserialize your application's state, just put your app in a "state - loading" state and exit the function. Then put up a "resuming application" screen and deserialize your application state while you application is actually running (in a background thread, of course), since you won't have a time limit then.
    Saturday, October 23, 2010 12:55 PM
  • You may be taking too long in your game_activated and/or OnDeactivated functions. If you take more than a few seconds, the OS will kill your app. This is troublesome because if you use either the XmlSerializer or DataContractSerializer, you'll notice it's quite slow when saving to isolated storage (that's what the system does when you save to the state dictionary for silverlight applications too).


    My suggestion: While your application is running, keep your application state stored in isolated storage and up to date. Then when your application is tombstoned, you only have to save a small amount of state data (or none). 

    Then, in your game_activated function, don't deserialize your application's state, just put your app in a "state - loading" state and exit the function. Then put up a "resuming application" screen and deserialize your application state while you application is actually running (in a background thread, of course), since you won't have a time limit then.



    Thanks for the feedback. I am doing exactly what you suggested. I am using DataContractSerializer but saving very little information during deserialize. The activated function is similarly very light.

    My question to anyone with a physical device, is there a big difference between saving time on Emulator vs saving on device? On emulator my application deactivate and activate within a second or two during Start menu key interruption. Is there any difference in phone call interruption? Does it give less time to save data then when interrupted by user event like pressing Start key or search key? My test results report specifically mention interruption during a phone call.

    Saturday, October 23, 2010 1:14 PM
  • I had some serialization/deserialization benchmark code written a while ago when I first noticed the issue in the emulator. Someone with pre-release hardware ran my benchmark on the device. On the PC it's something like 2-3 ms, on the emulator it was like, 4-5 seconds. On the device it was like 50 seconds. Keep in mind though that this was using the beta of the dev tools, I haven't checked since then.
    Saturday, October 23, 2010 8:24 PM
  • Thanks guys! Much appreciated.

    I had made some optimizations and re-submitted. My game "Smash Attack" is now available in the marketplace. One question to people who have submitted updates, I want to update description and panorama image. I know I have to submit my xap again which I have updated with few more changes. But if it fails, will it effect the current version in the marketplace?
    Sunday, October 24, 2010 6:32 PM
  • Don't worry - the last version of your application that was accepted into the marketplace will remain there unaltered until you submit an update that passes certification. 
    Monday, October 25, 2010 2:34 PM
  • Don't worry - the last version of your application that was accepted into the marketplace will remain there unaltered until you submit an update that passes certification. 


    Cheers. I will submit my update then.
    Monday, October 25, 2010 3:32 PM
  • SMS problem here too. My app failed testing because apparently when an SMS arrives there is no notification (The user is notified only after he/she exits my app). How is that even possible?!!

    Is there any way for me to reproduce this problem without a physical device?

    thank you

     

     

     

    Wednesday, November 10, 2010 11:19 AM
  • SMS problem here too. My app failed testing because apparently when an SMS arrives there is no notification (The user is notified only after he/she exits my app). How is that even possible?!!

    Is there any way for me to reproduce this problem without a physical device?

    thank you

     

     


    I don't think you should be able to do that. Are you using latest tools? Check what type of events you are listening to. Anything to block toast notifications? Even in full screen apps you get SMS notification so I can't see what could result in this behaviour.
    Wednesday, November 10, 2010 7:16 PM
  • NabMo thank you very much for the suggestions.

    Yes i'm using the very latest tools and no i'm not listening to any notifications.

    The problem may have something to do with my game engine. I'm running the game in a loop. Is it possible that i'm keeping the main thread occupied that the OS fails to display notifications? Silly thought right?   I'm not familiar with threading concepts so this may sound naive: would a Sleep call help (say for 1 millisecond) or am i talking nonsense?   :(

    Please advice me :(

    MANY THANKS to everyone who reads this

    Thursday, November 11, 2010 8:30 PM
  • If you haven't done so already, I recommend that you check all the methods/functions called in your main game loop, looking for functions that consume CPU resources.

    The IsTrialAPI takes 60ms to complete, which would ruin performance if it is in the main loop. This is undetectable until published.  One workaround is to create a variable to reflect the IsTrial state that you set only once:

    http://msdn.microsoft.com/en-us/library/ff967551(v=VS.92).aspx
    Thursday, November 11, 2010 10:36 PM
  • NabMo thank you very much for the suggestions.

    Yes i'm using the very latest tools and no i'm not listening to any notifications.

    The problem may have something to do with my game engine. I'm running the game in a loop. Is it possible that i'm keeping the main thread occupied that the OS fails to display notifications? Silly thought right?   I'm not familiar with threading concepts so this may sound naive: would a Sleep call help (say for 1 millisecond) or am i talking nonsense?   :(

    Please advice me :(

    MANY THANKS to everyone who reads this

     

     




    When you say "main thread occupied" I feel like you are preventing messages to go through and not using XNA correctly. Are you using old style loop where you get into painting and stay there till you end game? You need to make sure in every refresh your Update and Draw methods call their respective base methods and leave method. You cannot block main thread. You need to override Draw and Update. Your game should paint in Draw and get input in Update without blocking them. Can you put a high level code of your game loop here. That would help to clarify.
    Friday, November 12, 2010 7:27 AM
  • @Mark Chamberlain :  I'm not using the IsTrial api

    @NabMo : it's not XNA but Silverlight.  The way i do it is this:


    in the constructor:

    ...

    CompositionTarget.Rendering += new EventHandler(MainSimLoop);

    ...

       public void MainSimLoop(object sender, EventArgs e)
            {

                TimeSpan span = (TimeSpan)(DateTime.Now - _previousTime);

                _previousTime = DateTime.Now;

                double elapsedTime = span.TotalSeconds;

                SetElapsedTime(elapsedTime);

                if(!IsPaused)
                {               

                    _worldMap.Update();

                    _renderer.Update();

                }
            }

    the worldmap update method updates the position of the entities

    the renderer update method updates the pixels of a writeablebitmap that is set as source of my xaml's image

    One important question is How is it possible that my app responds well to manipulationstarted events and not to sms notifications?!! How is that possible?!!    :(

     

    Friday, November 12, 2010 3:15 PM
  • any updates on this issue?
    Saturday, November 27, 2010 2:47 PM
  • now that i have a physical device to reproduce the behavior i've managed to receive sms notification by using Thread.Sleep(1); in the loop method.  Yes yes i know that's not best programming practice but i'm still waiting for a better suggestion :(

    Thanks to any of u who read these posts

     

    Thursday, December 16, 2010 1:54 PM