Closed javierron closed 1 month ago
Question for presentation "Property-based testing in Python using Hypothesis" (W2)
What drawbacks do you see in property-based testing that could lead one to use example-based testing?
Properties are hard to define, and it takes time to figure out which to write
Question for presentation "Property-based testing in Python using Hypothesis"
Have you used the library before, and if so what was you experience? Otherwise do you think it was easy to use and do you think you will use it in future?
No, we have not used it before. But we found it surprisingly easy to use
@Glassar can you please post the answer as well? You can edit your comment.
Question for presentation "Property-based testing in Python using Hypothesis" (W2)
Are the inputs generated deterministic? Is it possible for a test to succeed in one run and then fail in a later run?
No, generated inputs are not deterministic, but the library generates 100 different inputs (by default; you can increase it) so that situation is unlikely to happen.
Q: Is there a way to blacklist versions so we don't enforce vulnerable package versions?
There is a way, even though it was not shown in the demo
Demo: Enforcing version consistency between identical package dependencies in monorepos
Q: Why use Bun instead of node.js in the GitHub actions workflow?
Since Bun can natively run TypeScript, the workflow is simplified compared to using node. We use Vite when running the code locally.
No, generated inputs are not deterministic, but the library generates 100 different inputs (by default; you can increase it) so that situation is unlikely to happen.
@diogotcorreia In theory, there should be some sort of seed so that inputs can be controlled (I have not checked the docs). Otherwise, the test would be prone to flakiness.
W2-Presentation: "Introducing Team City pipelines a CI/CD tool for samll, mid-sized dev teams by JetBrains"
Question: Why rather for small, mid-sized teams?
Dedicated people to use UI (blocks), could be an overhead.
Question for presentation "Introducing Team City pipelines a CI/CD tool for samll, mid-sized dev teams by JetBrains"
If I had to compare Jenkins and TeamCity briefly, which CI tool should I choose?
Jenkins has a unique syntax that can make writing lengthy pipelines cumbersome, while TeamCity is designed to be more user-friendly and quicker to adopt. However, the choice between the two ultimately depends on the specific requirements of your project.
W2-Presentation: "Introducing Team City pipelines a CI/CD tool for samll, mid-sized dev teams by JetBrains"
Question: "Do you feel like there may be some important details missing from the lost granularity of UI-blocks vs writing the config as YAML code?"
Yes, to some extent, but for the tool's target (small teams) we don't feel like that's a big issue -- these teams would probably benefit from these "easier to manage" CI/CD tools at earlier stages, even with some possible details being missing.
W2-Presentation: "Introducing Team City pipelines a CI/CD tool for samll, mid-sized dev teams by JetBrains"
Question: "In terms of cost, how does it compare to other CI/CD tools?"
It's currently free (Beta), but will likely be monetised in the future (like other JetBrains tools).
W2-demo: "CI with Cache and parallel" Q: Did you use cache for backend cache as well?
Yes. They showed their code and proved it performs faster than just Maven building.
Presentation: Bridging Development and Operations: BDD in Automated Frontend Testing (W2)
Question: Is each scenario in a feature flag a single test ?
Answer:
Each feature file contains a single feature inside and it contains the various scenarios which essentially are test cases that you want to test
Question for presentation "Bridging Development and Operations: BDD in Automated Frontend Testing" Is there any way to simplify the creation of test cases, from sentences to code without writing all scenarios from scratch?
As it is modular it is possible to write different test assertions or setup and then concatenate them using natural language.
W-2 Presentation "Bridging Development and Operations: BDD in Automated Frontend Testing" Q: How do you compare using Behave with Cucumber - which one would be easier to use?
It would be similar as the .features file would be the same but the tests would be implemented in different languages
W2-demo: "CI with Cache and parallel" Q: Is there support for any other collaboration tool other than Slack?
A: Yes, such as gmail.
//miladsf
W2-demo: "Continuous integration testing of node and service availability of promox instances" Q: Is it possible to replace one tool in the long tool chain with other tools, for example, replace jenkins with other CI platforms?
Yes. But we choose Jenkins because we think Jenkins is easy to use and have good documentation. Also security is a good factor. There are other tools but for our infrastructure we consider Jenkins as the best choice.
W2-demo: "Continuous integration testing of node and service availability of promox instances"
Q: Is there a way to use a Proxmox function/jobs to bypass what Jenkins is doing in the demo?
Yes, there is a way to do this since the task performed was easy. For more complex tasks it's better to use Jenkins.
W2demo”Continuous integration testing of node and service availability of promox instances” Q: What criteria does the system use to determine whether the node or service works, and same question apply to the service interaction
Presentation W2: Split.io, a Feature Flag tool, that can be used for A/B Testing Q: can you choose the split? A: yes, you can choose the percentage or specific user base that tests a new feature
W2-presentation: "Split.io, a Feature Flag tool, that can be used for A/B Testing"
Q: Is there a way to determine the different groups being targeted?
A: Yes, you can leave it up to split.io, so for example, do a 50/50 split, or you could selecct a certain audience, so for example you could target only swedish users
Question for presentation "Split.io, a Feature Flag tool, that can be used for A/B Testing"
Are both versions of the application included in the same package, or are there separate builds for each version?
Both versions are included in a single build. The appropriate version of the application is displayed based on a conditional statement within the code.
Question for presentation Split.io, a Feature Flag tool, that can be used for A/B Testing. Q: Is there any performance for deploying multiple versions? A: There could be since there are extra API calls, but they are cached so there would not be a noticable impact.
Question for presentation Split.io, a Feature Flag tool, that can be used for A/B Testing.
What kind of metrics should I look for in order to know which experiment is better?
We can measure how much time a user takes to go from one place to another or the number of engagements.
W2 - Question for presentation Sonarqube and robocom
does the sonarqube run the script automatic or do you have to run it eachtime?
A. No, you just have to run it once and it will do it all automatically and you can also tell it to not run on. maybe python scripts so it will skip the python scripts.
W2-Presentation: "Sonarqube and robocom"
Question "Are there alternative static analysis tools with which you can integrate robocom?"
There are several static analysis tools, but the presenter is only aware of SonarQube that lets you integrate robocom. And it is the most popular one.
Week-2: Question for Presentation "Automated UI Testing Using Playwright".
Q: Does Playwright support parallelism while running tasks? Or are the test cases always run one-by-one?
No, right now they do not support parallelism, but they have announced this feature for some future release as it speeds up the execution time by many folds.
W2-Presentation: "Mockito: What it is, how it works, and how it improves automated testing in Java"
Q: "Are there any other good mocking tools for Java?"
A: "No, this is the only one for Java specifically"
W2-demo: "CircleCI Pipeline Improved with Cache and Parallel Workflow"
Q: "Is there a specific reason you chose CircleCI as the CI tool or did you consider other alternatives?"
A: "Its cache functionality was the main reason."
W2-presentation: "Bridging Development and Operations: BDD in Automated Frontend Testing "
Q: "Does the feature file enforce genkin or is it text file basically? For example if you write "give" instead of "given" does it return a syntax error?"
A: "It depends on how you declared the decorators, so does not necessarily mean that it will return syntax error"
Week 2 presentation: "Bridging Development and Operations: BDD in Automated Frontend Testing "
Q: If something fails in the process (within a scenario), does the tool let you know what failed? In a way that can be useful for the developer in order to fix the problem.
A: Yes, if something fails when testing a scenario, Behave lets you know exactly what step failed. It also keeps running the tests until the end and gives a summary including specific failures.
Week 2 Presentation [Automated UI testing using Playwright] "In the process of making testing for a feature, how do you test issues that you don't know" Answer: By student: It is a active recursive process until most aspect is cover.
W3-demo: "Github Actions workflow for deploying to an AWS Lambda function."
Q: How are you storing the aws credentials?
The secrets are stored in github secrets and then they will be injected in code when requested
W3-demo: "Github Actions workflow for deploying to an AWS Lambda function."
Q: Is there any rollback mechanism? Is it possible to rollback to a previous version?”
Yes. Though our demo doesn’t support rollback, AWS Lambda support rollback.
The group didn't look into any other options since Kubernetes and Docker are more widely used in the industry.
W3 Presentation :The importance of containerization Q: Is it guaranteed that each node has two pods, or is that just an example? What determines the number of pods that can be used?
You can have as many pods as possible and it is determined by your configuration.
W3-Presentation: "The importance of containerization"
Q: Docker is containerization platform while Kubernetes is container orchestration platform. Have you looked into comparing Kubernetes with Docker Swarm, which is the container orchestration platform by Docker?
A: We haven't looked into Docker Swarm, but it is also a very powerful container orchestration platform.
W3 - Scientific Paper: "An Empirical Study of Architecting for Continuous Delivery and Deployment"
Q: Are there any scenarios where you would want a monolith?
A: Yes, it could be desirable for small project to avoid the extra work of architecting your software.
Question for scientific paper "An Empirical Study of Architecting for Continuous Delivery and Deployment" (W3)
Are there any disadvantages/challenges to using microservices?
Many, starting with the migration which can go horribly wrong.
W3-Scientific Paper: "An Empirical Study of Architecting for Continuous Delivery and Deployment"
Question: Do the authors mention what percentage of the systems should actually be re-architected for CD?
No, they don't really mention numbers on that. It's more about how one could adapt their monolithic application for CD.
Week 3 Demo "Get started with Terraform: Continuous Deployment in AWS through Github Actions"
Q: Why did you decide to deploy to AWS S3 and not to another AWS service such as EC2, ECS, etc.?
A: AWS S3 is the simplest and fastest way to host a static website.
Week 3 Demo "Continous Deployment and Rollback using Railway"
Yes, railway supports deploying GH projects, Docker images and also some predefined services like Postgres, Redis, etc.
Week 3 Demo "Continous Deployment and Rollback using Railway"
Q: Is the tool entirely free and if not, is it a reasonable amount for startups? A: There is a base fee of $5, after that you pay for the extra resources you use.
Week 3 Demo: "Continous Deployment and Rollback using Railway"
Q: When you rollback/redeploy, is the HEAD of the git branch changed in any way?
No, it's kept the same, the deployments just refer to specific commits.
Week 3 Demo "Continuous Deployment and Rollback using Railway" Q: Is the tool focus on the mon list system as how can it be expand horizontally using service A: You can just create different micro service on railway and link it together there
Week 3 demo: Question for presentation "Continuous Deployment and rollback using railway."
Question: Are there any reasons that I should not use Railway?
Answer: Railway is good if you are a small company or if you wish to develop fast. Once you get bigger and wish to save on costs or customize more things it is possibly better to create a custom solution.
@Atheer2104 @Samkth123 Hi! Really good demo. I have a question about it. Could you please tell me how it compares to GitHub action? GitHub actions can run builds. One can also configure secrets. You can also roll back but checking out to a commit and then pushing the commit. What other problem is it solving?
I think I got one answer from @monperrus . Railway is good at segregating IaC from CD. And I agree, rollback is very fast.
(Week 3 Scientific paper) Understanding Security Threats in Open-Source Software CI/CD Pipelines
Question: Did the authors only use code that was available on github and if yes did they have any requirement on how many stars the repo had
Answer:
Yes the authors only examined code that was available on GitHub and no the authors did not mention anything about the minimum amount start or something like that, most likely they selected the top X amount of repos
Question for paper "Understanding Security Threats in Open-Source Software CI/CD Pipelines" (W3)
Version pinning is important to prevent supply-chain attacks, but CI dependencies should be updated often to fix any potential exploits (and manually checked to be beneficial). How can we reason about these 2 very disparate but individually relevant concepts? Is there a "CI for CI" tool for scanning?
Not mentioned in the paper, but current hot topic in research
@HexuL , nice presentation! I have a question about your talk. How do you control which users will see which build? I could not get that part from the configuration you showed.
EDIT: you showed load balancer is responsible for it. Did the configuration file contain details about it?
Here we track active participation in lectures.
To do this, you record as a comment the question you make to presentations or demos during the lectures.
Also, provide the title of the presentation/demo.
Lecture Participation Stats (Updated on 2024-10-09 18:54:48)