I'm starting to learn acceptance testing, and I want to test an ASP.NET MVC app using SpecFlow. Currently I'm writing tests for CRUD scenario
I know it's a completely noobie question, but is it practical to test every edge case in my SpecFlow scenarios? I have a form to fill, it has about 15 fields, do I need to test that, for example, "if field A is valid and field B is not, I should see this validation message on the screen"? Or it should be sufficient to write "if form is correctly filled, I should see "Task added" message"? Should I unit-test model validation separately in this case?
Thanks ahead
Is it practical to test every edge case when defining a spec for a form entry feature?
264 views Asked by chester89 At
1
There are 1 answers
Related Questions in ASP.NET-MVC
- I have a problem outputing the roles on the page ListRoles.cshtml
- Dropdown list showing SQLServer2005SQLBrowserUser$DONSERVER instead of Active Directory group name in ASP.NET MVC C#
- Hosting ASP.NET MVC application on IIS web server using Windows 2019 server
- How to display only department fields associated with a selected department in student automation system?
- How to send select input data for form submission?
- Multi level project reference using dll
- How to upload file to Onedrive using ASP.NET MVC?
- ASP.NET MVC web app looping between fields only on some devices
- Is there any automatic job to load AD-groups?
- How to restrict admin js files to download
- Download PDF in ASP.NET MVC application
- How to add bootstrap theme/example into ASP.NET MVC 5?
- Web API works with Windows authentication enabled when consumed via Swagger but throws an unauthorized issue when accessed through web app
- ASP.Net Core 7.0 Web App (Model-View-Controller) ErrorViewModel OnGet OnPost do not get called or executed
- OAuth 2.0 keep getting Authorization has been denied for this request
Related Questions in VALIDATION
- Terraform valdiate that one of N variables is set to "true"
- How to validate if Confirm Password is same or not with the Password in React Native using ValidateJS?
- How to create yup schema for dynamic array of different objects
- Quintic Number Number Counting Hash Function
- DropdownButtonFormField doesn't apply custom InputDecoration style
- Is there a way to set a cells value based on the value this cell held at a certain time, even when the cell value changes over time?
- Multiple regex expressions to check mobile number in javascript
- Java Pojos - Setter-Call (Field Touched) Detection
- Input Field Required
- Angular restore ngModel input field to it's previous value
- Bean Validaton : org.springframework.web.bind.MethodArgumentNotValidException
- javax validation not working on spring boot
- How to show warning message for unmatched confirm password
- Flutter TextFormField validation with Firestore
- eval_set in CatBoostRegressor
Related Questions in BDD
- Specflow defination not showing references
- Issue with pytest-bdd execution after python and pytest-bdd version upgrade
- Cucumber API for listing/run features/scenarios/tags
- Bean Creation Failing in Spring Boot Application
- Autopopulate existing specflow steps
- Cucumber, TypeScript, Error: No tests found when running without examples
- How to run specific scenario from a feature file without changing the path of feature file in cukesfeaturefile?
- Load data from yaml using dedicated class in pytest-bdd in step file(@given, @when, @then)
- How to check Null Values in JSON Rest Assured
- How to implement test timeout for playwright in a BDD Cucumber framework written in Typescript?
- How to get the step name description using pytest-bdd?
- Unexpected step line values in cucumber report generated by Godog for scenario outlines
- Karate - Accessing certain value in an array element using a 'retry until' statement
- How can I to go to step definition file in VS Code using cypress and BDD
- Aloe "Examples" table not working for python 3.12
Related Questions in SPECFLOW
- Specflow defination not showing references
- Powershell script can not run when invoke in .NET process
- Autopopulate existing specflow steps
- How do I get SpecFlow.NUnit to suppress passing scenarios from console output?
- Disable one feature file from running in parallel with other features in c# using SpecFlow
- When and by "whom" is the Dispose() method called after scenario
- Awaiting state - One scenario with multiple When/Then versus Two scenarios and shared context
- Playwright Specflow tests are throwing exception in debug mode but not throwing any exception in run mode
- Specflow project build is "terminated due to StackOverflowException"
- How to "Associate a test case" from my Specflow Nunit Automated UI test project to Azure test plan test case If I am not using Azure Devops Repo?
- I have a StepDefinition that logs in the user. I would like to run that step definition once before the test and not have to run it again
- Reuse SpeckFlow Examples from another .feature file
- Call one scenario from another - Specflow
- how to create .property file in specflow framework
- Using a feature with 2 identical scenarios but, different tags. How to do in a DRY way?
Related Questions in ACCEPTANCE-TESTING
- Monte Carlo Example using Accept Reject Method
- Bad parameter in WebDriver url causes cross-site request
- How to attach a file using attachFile() in Codeception
- Run Codeception Acceptance Test within two Integration Tests coded in simple PHPUnit
- Error while running AndroidTest on a library module - Please configure your build for VectorDrawableCompat
- Can I write behavioural unit tests using "Given-When-Then" in Pytest (Python)?
- Test pdf content using C# in acceptance tests
- Execution failing with go error for acceptance tests
- ThinkingSphinx real time indexes & Rspec Acceptance Testing w Chrome headless
- How to mock libraries used inside service/controller while running cucumber
- How to decide which scenarios to cover in "Acceptance tests" and which in "Unit tests"
- Codeception 5 test parameters recommendation sought
- Acceptance test design in Requirements Validation (Software Engineering)
- How to use previously created objects in Gherkin?
- 500 error and not details when running jest supertest with express
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I tend to look for higher-level behavior in scenarios or acceptance tests than I do with unit tests. Particularly, I'm looking for behavior that's valuable to users or other stakeholders.
In this case, the high-level behavior might be phrased as "the user gets feedback on how to fill in the form". You can then just use one or two examples of how the user gets that feedback, and check that the validation message appears.
You can then put the logic around the specific messages in a unit test.
Acceptance tests, especially if you're using BDD scenarios, aren't really tests. They're examples of how to use the system so that you can use those examples to drive conversation with your business stakeholders, and I would tend to phrase them in the same granularity and terms that the business stakeholder is interested in. BDD isn't a substitute for manual testing, though it can certainly help to reduce the burden.